我有一个情况,我想省略嵌套的地图,并在一个班轮完成它。可以使用链或任何其他方式完成。
self.workorder.tasklist = _.map(self.workorder.tasklists, function (tasklist) {
tasklist.tasklistGroups = _.map(tasklist.tasklistGroups, function (tasklistGroup, tgKey) {
tasklistGroup.tasklistItems = _.map(tasklistGroup.tasklistItems, function (taskListItem, tKey) {
taskListItem = _.omit(taskListItem, ["open"]);
return taskListItem;
});
return tasklistGroup;
});
return tasklist;
});
我不想要这么多嵌套地图调用。
答案 0 :(得分:0)
因为你正在修改你的物品我会说这是可能的:
_.chain(self.workorder.tasklists).map(function(tasklist) {
return tasklist.tasklistGroups;
}).flatten().map(function(group) {
return group.tasklistItems
}).flatten().forEach(function(item) {
delete item.open;
}).value();
我们的想法是将您的数组展平到最后一级(项目级别),然后使用forEach
修改它们。