我有一个对象数组。该对象包含:
码
名称。
示例:
var fullList = [
{"code":10,"name":"example 10"},
{"code":50,"name":"example 50"},
{"code":60,"name":"example 60"}
]
我有另一个只包含代码的数组,如:
var filterBy = [10, 50]
我想创建2个新数组:
首先 - 仅包含其代码在“filterBy”中的对象
第二 - 仅包含其代码不是(!)在“filterBy”中的对象
我该怎么做?
谢谢
答案 0 :(得分:2)
只需传入一个函数作为过滤器表达式
<div ng-repeat="a in fullList | filter: myFilterBy">
{{ a }}
</div>
然后
$scope.myFilterBy = function(e) {
return filterBy.indexOf(e.code) !== -1;
}
答案 1 :(得分:0)
您可以按如下方式创建2个数组 -
var arr1 = [];
var arr2 = [];
angular.forEach(fullList, function(obj, key) {
var indx = filterArray(obj);
if (indx > -1) {
arr1.push(obj);
} else {
arr2.push(obj);
}
});
console.log(arr1);
console.log(arr2);
function filterArray(arrObj) {
return [10, 50].indexOf(arrObj.code);
};