JavaScript中是否有一种方法可以比较一个数组中的值,并查看它是否在另一个数组中?

类似于PHP的in_array函数?


当前回答

我在SO上找到了一个很棒的jQuery解决方案。

var success = $.grep(array_a, function(v,i) {
    return $.inArray(v, array_b) !== -1;
}).length === array_a.length;

我希望有人能发布一个例子,如何在下划线做到这一点。

其他回答

将此代码添加到项目中,并使用对象样式的inArray方法

if (!Array.prototype.inArray) {
    Array.prototype.inArray = function(element) {
        return this.indexOf(element) > -1;
    };
} 
//How it work
var array = ["one", "two", "three"];
//Return true
array.inArray("one");

我在SO上找到了一个很棒的jQuery解决方案。

var success = $.grep(array_a, function(v,i) {
    return $.inArray(v, array_b) !== -1;
}).length === array_a.length;

我希望有人能发布一个例子,如何在下划线做到这一点。

有一个等效函数:

includes()

看这里: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

对于Dojo Toolkit,您将使用Dojo . indexof()。看到dojo。用于文档的是indexOf,用于示例的是Bryan Forbes的Arrays Made Easy。

function in_array(needle, haystack){

    return haystack.indexOf(needle) !== -1;
}