角度过滤器 - 其他数组

时间:2016-04-12 12:01:34

标签: javascript angularjs filter ng-repeat javascript-objects

假设我有一个阵列:

var Array_1 = [ { k:0 }, {k:3} ] ;
var Array_2 = [ { (other keys), k:0 }, { (other keys), k:5 }, ... ];

我需要过滤Array_1中具有k的Array_2项目。

如何使用ng-repeat进行此操作?

1 个答案:

答案 0 :(得分:0)

您可以对所需的k值使用哈希表,如果存在哈希值,则对数组进行过滤。

var array_1 = [{ k: 0 }, { k: 3 }],
    array_2 = [{ t: 42, k: 0 }, { x: 5, k: 5 }],
    temp = {},
    result;

array_1.forEach(function (a) {
    temp[a.k] = true;
});
result = array_2.filter(function (a) {
    return temp[a.k];
});

document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');