使用map函数时减少javascript代码

时间:2015-01-21 04:08:19

标签: javascript dictionary lodash

我想迭代一个数组并对每个元素

做一些事情
d = d.map(function(d){
    return _.omit(d, 'password');
})

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

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

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

1 个答案:

答案 0 :(得分:5)

如果您使用的是支持arrow functions的JavaScript版本,则可以使用以下内容:

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')