我有一个 JavaScript 的示例,使用 map reduce 从数组中删除项目,并在转换后进行。是否有更简单的方法来实现这一点,因为它似乎有点复杂。
我将其放在 JSFiddle 上,这是 map reduce 部分:
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;
}
}
});