使用 map 函数时减少 javascript 代码

reduce javascript code when using the map function

我想遍历一个数组并对每个元素做一些事情

d = d.map(function(d){
    return _.omit(d, 'password');
})

d = d.map(function(d){
    return d.toString();
})

这些功能运行正常。但是在它出现太多次之后,代码变得非常混乱。

所以我想知道是否有更简单的方法来做我想做的事情?我希望仅使用 bind 或 apply 关键字或某些模块(可能是 lodash 或下划线......)将代码减少到一行。这可能吗?

如果您使用的 JavaScript 版本支持 arrow functions,您可以使用那些:

d = d.map((d) => _.omit(d, 'password'));

或者如果您经常重复相同的代码,您可以创建辅助函数:

function removePasswords(d) {
    return d.map(function (d) {
        return _.omit(d, 'password');
    });
}

d = removePasswords(d);

如果您接连表演很多 map,您可以合并它们的内容

d = d.map(function(d) {
    return _.omit(d, 'password').toString();
});

否则,我认为它不会比您已有的短很多。已经很短了。

如果您觉得 JavaScript 过于冗长,您可能需要考虑使用 Coffeescript

d = d.map (d) -> _.omit(d, 'password')