Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中将变量值与值数组相匹配?_Javascript_Arrays_Match - Fatal编程技术网

如何在Javascript中将变量值与值数组相匹配?

如何在Javascript中将变量值与值数组相匹配?,javascript,arrays,match,Javascript,Arrays,Match,我有一个名称为的值数组: names = ['Jim', 'Jack', 'Fred'] 我还收到一个函数的值,它是字符串形式的名称,例如: returnedValue = 'Jim' 如何针对names数组的值运行returnedValue字符串并测试匹配 我的感觉是,您可能希望使用数组原型的.filter方法,但我无法想象如何使用这种方法。所有数组都有一个indexOf方法(旧版本的Internet Explorer除外),该方法将返回数组中某个元素的索引,如果该元素不在数组中,则返回-

我有一个名称为的值数组:

names = ['Jim', 'Jack', 'Fred']
我还收到一个函数的值,它是字符串形式的名称,例如:

returnedValue = 'Jim'
如何针对names数组的值运行returnedValue字符串并测试匹配


我的感觉是,您可能希望使用数组原型的.filter方法,但我无法想象如何使用这种方法。

所有数组都有一个indexOf方法(旧版本的Internet Explorer除外),该方法将返回数组中某个元素的索引,如果该元素不在数组中,则返回-1:

if (yourArray.indexOf("someString") > -1) {
    //In the array!
} else {
    //Not in the array
}
如果您需要支持旧的IE浏览器,可以使用MDN文章中的代码使用polyfill这个方法


复制的Array.indexOf方法将返回一个带有返回值位置的值,在本例中为0,如果该值不在数组中,您将返回-1,因此通常如果您想知道返回值是否在数组中,您会这样做 if(names.indexOf(returnedValue)>-1)返回true;
或者你也可以这样做~~就像约瑟夫·西尔伯先生在另一个帖子中善意地解释的那样

查看字典上的这个链接 如果有一个变量的值与字典中的字符串匹配,则可以将变量设置为等于该值。这里是我自己的一些代码的剪报`

global element1
element1 = 1
elementdict = {
"H": 1.008,
"He": 4.00,
"Li": 6.49,
"Be": 9.01,
"B": 10.81,
"C": 12.01,
"N": 14.01,
"O": 16.00,
"F": 19.00,
"Ne": 20.18,
"Na": 22.99,
"Mg": 24.30
}
element1 = input("Enter an element to recieve its mass")
element1 = elementdict[element1]
print(element1)

使用
names.indexOf(returnedValue)
好的,非常好用,谢谢!filter()的可能副本将用于计数或查找所有匹配项,而不仅仅是第一个匹配项(或通过lastIndexOf()查找最后一个匹配项)。我在internet上查找所有匹配项。非常感谢。欢迎来到SO!你可能想复习一下。您提供的答案是针对Python的,问题是关于JavaScript的。