Arrays 按另一个数组筛选数组(AngularJS)
我有一个对象数组。该对象包含:Arrays 按另一个数组筛选数组(AngularJS),arrays,angularjs,filter,Arrays,Angularjs,Filter,我有一个对象数组。该对象包含: 代码 名称 例如: var fullList = [ {"code":10,"name":"example 10"}, {"code":50,"name":"example 50"}, {"code":60,"name":"example 60"} ] 我有另一个只包含代码的数组,如: var filterBy = [10, 50] 我想创建2个新阵列: 第一个-仅包含其代码位于“filterBy”中的对象 第
代码
名称
例如:
var fullList = [
{"code":10,"name":"example 10"},
{"code":50,"name":"example 50"},
{"code":60,"name":"example 60"}
]
我有另一个只包含代码的数组,如:
var filterBy = [10, 50]
我想创建2个新阵列:
第一个-仅包含其代码位于“filterBy”中的对象
第二个-仅包含其代码不在“filterBy”中(!)的对象
我怎么做
谢谢只需传入一个函数作为筛选表达式
<div ng-repeat="a in fullList | filter: myFilterBy">
{{ a }}
</div>
Fiddle-只需传入一个函数作为过滤器表达式
<div ng-repeat="a in fullList | filter: myFilterBy">
{{ a }}
</div>
Fiddle-您可以按如下方式创建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);
};
您可以创建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);
};