是否可以在angularJS
forEach
循环中应用WHERE
条件?
angular.forEach(i.menu_modifier_groups, function(group) {
var count = 0;
angular.forEach(group.menu_modifier_items, function(item) {
count += item.selected ? 1 : 0;
});
if (count == group.max_selection_points) {
IsAllSelected = true;
} else {
//if one item failed All select do return false
IsAllSelected = false;
}
});
我想应用一个WHERE
条件来告诉angular
要循环访问的项目。
i.menu_modifier_groups WHERE group.min_selection_points > 0
例如。
谢谢。
您可以使用过滤器来获取过滤后的数据。 即像我.menu_modifier_groups.filter(功能...
请在下面找到一个小的工作示例。
var arr = [];
var obj = {x: 54, y: 10};
arr.push(obj);
var obj1 = {x: 14, y: 10};
arr.push(obj1);
var finalAccrualRows = arr.filter(function (object) {
return object.x===54?false:true;
});
alert(finalAccrualRows.length);
所以对于你的情况,它会像
var finalGroups = i.menu_modifier_groups.filter(function (group) {
return (group.min_selection_points > 0)?true:false;
});
它只是一个 list.filter() 函数来过滤列表,希望这应该对您有所帮助。