我想把一个对象数组分成多个数组。在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或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