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;或者你也可以像约瑟夫·西尔伯先生在另一条线索里善意地解释