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

ted*_*123 10 javascript angularjs

是否有AngularJS方法检查数组中是否存在值

var array1 = ["a","b","c"]
Run Code Online (Sandbox Code Playgroud)

我正试图这样做..

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

angular.forEach(array2, function (a) {
    if (a /*is NOT in array1*/) {
        array1.push(a);
    } else {
        return false
    }
});
Run Code Online (Sandbox Code Playgroud)

juc*_*uco 29

您可以使用Array.indexOf哪些将返回(-1如果未找到)或数组中的值的索引.

所以在你的情况下:

if (array2.indexOf(a) < 0) {
  array1.push(a);
}
Run Code Online (Sandbox Code Playgroud)


dfs*_*fsq 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);
    }
});
Run Code Online (Sandbox Code Playgroud)