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

时间:2013-11-19 23:50:24

标签: javascript jquery dictionary reduce

我有一个带有map reduce的JavaScript示例,用于在转换它们之后从数组中删除项目。有没有更简单的方法来实现这一点,因为它似乎有点复杂

put it in a JSFiddle here,这是地图缩小部分:

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;
        }

    }
});

1 个答案:

答案 0 :(得分:7)

你的意思是.filter

var after = before.filter(function (item) {
   return item.keep;
});

如果你想要/需要,你仍然可以.map