一尘不染

如何检查数组是否包含 JavaScript 中的值?

javascript

找出 JavaScript 数组是否包含值的最简洁有效的方法是什么?

这是我知道的唯一方法:

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

有没有更好,更简洁的方法来实现这一目标?


阅读 171

收藏
2022-01-07

共1个答案

一尘不染

现代浏览器有Array#includes,它正是这样做的,并且得到了除 IE 之外的所有人的广泛支持

console.log(['joe', 'jane', 'mary'].includes('jane')); //true

您也可以使用Array#indexOf,它不太直接,但不需要为过时的浏览器提供 polyfill。

console.log(['joe', 'jane', 'mary'].indexOf('jane') >= 0); //true
2022-01-07