如何将变量值与Javascript中的值数组进行匹配?

时间:2014-12-03 04:21:21

标签: javascript arrays match

我有一组名称为

的值
names = ['Jim', 'Jack', 'Fred']

我还从函数中收到了一个值,这是一个字符串形式的名称,例如:

returnedValue = 'Jim'

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

我的感觉是你想要使用数组原型的.filter方法,但我无法想象如何这样做。

3 个答案:

答案 0 :(得分:7)

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

if (yourArray.indexOf("someString") > -1) {
    //In the array!
} else {
    //Not in the array
}

如果您需要支持旧的IE浏览器,可以使用MDN文章中的代码使用polyfill this方法。

https://stackoverflow.com/a/12623295/2934820

复制

答案 1 :(得分:0)

Array.indexOf方法将返回一个带有返回值位置的值,在本例中为0,如果该值不在数组中,则返回-1,所以通常如果你想知道返回的值是否在你要做的这个数组     if(names.indexOf(returnedValue)> -1)返回true; 或者你可以做~~像约瑟夫西尔伯先生在另一个帖子中亲切地解释

答案 2 :(得分:-1)

在字典上查看此链接 https://www.w3schools.com/python/python_dictionaries.asp 如果您有一个变量的值与字典中的字符串匹配,则可以将一个变量设置为等于该值。这是我自己的一些代码的片段。

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)