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

How to match a variable value against an array of values in Javascript?

我有一个名为的值数组:

1
names = ['Jim', 'Jack', 'Fred']

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

1
returnedValue = 'Jim'

如何根据名称数组的值运行ReturnedValue字符串,并测试是否匹配?

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


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

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

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

复制自https://stackoverflow.com/a/12623295/2934820


array.indexof方法将返回一个带有返回值位置的值,在本例中为0,如果该值不在数组中,则返回-1,因此通常如果要知道返回值是否在数组中,则执行此操作if(name.indexof(returnedValue)>-1)返回true;或者你也可以像约瑟夫·西尔伯先生在另一条线索里善意地解释