我想迭代一个数组并对每个元素
做一些事情d = d.map(function(d){
return _.omit(d, 'password');
})
d = d.map(function(d){
return d.toString();
})
这些功能正常运行。但是在它出现太多次后,代码变得非常混乱。
所以我想知道是否有更简单的方法来做我想做的事情?我希望只使用bind或apply关键字或某些模块(可能是lodash或下划线......)将代码减少到一行。这可能吗?
答案 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')