javascript - 使用 JavaScript map reduce 从数组中删除项目

标签 javascript jquery dictionary reduce

我有一个 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/

相关文章:

javascript - 如何将第二个 promise 的值添加到值数组中

php - 如何通过foreach循环进行更新

arrays - 从值字典数组中检索键

java - 如何在Hibernate中映射一个合格的关联?

javascript - AngularJS - 如何验证元素指令?

javascript - meteor 中的多个数据库保持 react 性

javascript - JQuery Image slider 从json加载图片

jquery - 在模糊函数中停止 jQuery 模糊事件

python - 检查矩阵是否在字典列表中

javascript - 停止一个 div 的背景颜色覆盖另一个 div 的内容,旋转并因此重叠,div