我有一个 JavaScript 示例,它使用 map reduce 在转换后从数组中删除项目。有没有更简单的方法来实现这个,因为它看起来有点复杂
我put it in a JSFiddle here这是 map 缩小部分:
var after = before.map(function (item) {
if (item.keep) {
return {
z: item.a
};
} else {
return undefined;
}
}).reduce(function (prev, item) {
if (item) {
if ($.isArray(prev)) {
prev.push(item);
return prev;
} else if (prev) {
return [prev, item];
} else {
return [item];
}
} else {
if ($.isArray(prev)) {
return prev;
} else if (prev) {
return [prev];
} else {
return prev;
}
}
});
最佳答案
你的意思是.filter
?
var after = before.filter(function (item) {
return item.keep;
});
如果你想要/需要,你仍然可以.map
它。
关于javascript - 使用 JavaScript map reduce 从数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20084682/