arrays - JavaScript algorithms - 如何在JavaScript中检查一个数组是否包含一个值?

JavaScript data structures / javascript / algorithm / time-complexity / javascript-objects

怎样才能最简洁有效地找出JavaScript数组是否包含一个值?

这是我知道的唯一方法。

function contains(a, obj) {
    for (var i = 0; i < a.length; i++) {
        if (a[i] === obj) {
            return true;
        }
    }
    return false;
}

Ry-



Answer #1

我使用的是:

Array.prototype.contains = function (v) {
    return this.indexOf(v) > -1;
}

var a = [ 'foo', 'bar' ];

a.contains('foo'); // 真的
a.contains('fox'); // 错误的