【发布时间】:2016-05-19 11:57:42
【问题描述】:
我想将一个对象数组拆分为几个数组。
这些字符串在 AngularJS 中完美运行,并按照我想要的方式将整个数组 arr 拆分为四个数组:
var arr0 = $filter('filter')(arr, { filterVal: 0 }, true);
var arr1 = $filter('filter')(arr, { filterVal: 10 }, true);
var arr2 = $filter('filter')(arr, { filterVal: 50 }, true);
var arr3 = $filter('filter')(arr, { filterVal: 60 }, true);
其实上面总共四个数组就是原来的数组(因为每一项中的filterVal总是等于0, 10, 50 or 60)。
那么,问题是如何使上面的代码更短?所以,我需要在一行中将arr 拆分为 new_arr 以便
new_arr[0] is equal to arr0,
new_arr[1] is equal to arr1,
new_arr[2] is equal to arr2,
new_arr[3] is equal to arr3.
换句话说,我想使用一串代码(如果可能的话)而不是四串。 AngularJS 可以吗?
这样我会让它更有活力(而不是坚持四个)。
谢谢。
刚刚添加: 例如,
arr = [
{"code":"kfk", "flag":"dfmk", "filterVal": 0},
{"code":"asg", "flag":"sdg3", "filterVal": 50},
{"code":"asdf", "flag":"34t", "filterVal": 10},
{"code":"hsdfh", "flag":"dfsg43", "filterVal": 50},
];
预计会被授予
var new_arr[0] = [{"code":"kfk", "flag":"dfmk", "filterVal": 0}];//0s
var new_arr[1]= [{"code":"asdf", "flag":"34t", "filterVal": 10},];//10s
var new_arr[2]= [{"code":"asg", "flag":"sdg3", "filterVal": 50},{"code":"hsdfh", "flag":"dfsg43", "filterVal": 50}];//50s
var new_arr[3]= [];//60s
【问题讨论】:
-
请添加原始数组和想要的结果。
-
@NinaScholz 刚刚添加。谢谢。
标签: javascript arrays angularjs function filter