如何使用AngularJS检查值是否在数组中

11

是否有 AngularJS 的方法可以检查一个值是否存在于数组中?

var array1 = ["a","b","c"]

我正在尝试做这件事情..

var array2 = ["c", "d", "e"]

angular.forEach(array2, function (a) {
    if (a /*is NOT in array1*/) {
        array1.push(a);
    } else {
        return false
    }
});
3个回答

29
你可以使用 Array.indexOf,如果未找到,则返回-1,否则返回该值在数组中的索引。

因此在你的情况下:

if (array2.indexOf(a) < 0) {
  array1.push(a);
}

10
你只需要使用本地的 Array.prototype.indexOf 来检查值是否在数组中:
var array2 = ["c", "d", "e"]

angular.forEach(array2, function (a) {
    if (array2.indexOf(a) === -1) {
        // a is NOT in array1
        array1.push(a);
    }
});

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接