检测数组中是否存在某个值

在数组中搜索指定的值并返回其索引(如果找不到,则返回-1)


一种快速简单的辅助函数,用于测试另一个数组中是否包含某个值:


function inArray(needle, haystack) {

    var length = haystack.length;
    for(var i=0; i<length; i++) {
        if(haystack[i] == needle) return i;
    }
    return -1;
}
      

如果不需要支持IE8,建议使用数组方法indexOf()。 它返回匹配值的索引,如果查找值在数组中不存在,则返回 "-1"。


var a = [1, 2, 'abc', true];

console.log(a.indexOf('abc'));
// >> 2

console.log(a.indexOf('y'));
// >> -1