我参加了一个研讨会,讨论了如何使用_.each()来做_.reduce(),_。map()和_.filter()作为练习来更好地理解概念。
我甚至不确定这意味着什么,但我想知道是否有人可以为我清除这个问题?如何使用_.each()来执行_.reduce(),_。map()和_.filter()?
对不起,如果这是模糊的。
答案 0 :(得分:1)
我们以_.map
为例。 _.map
迭代一个集合,在该集合上的每个项目上执行一个函数(iteratee),从iteratee的返回值中构建一个新数组。
_.map( [ 1, 2, 3 ], function ( val ) {
return val * 2;
});
输出[ 2, 4, 6 ]
要使用_.each
重新创建_.map功能,您可以执行以下操作:
function map ( arr, iteratee ) {
var newArray = [];
_.each( arr, function ( val ) {
newArray.push( iteratee( val ) );
}
return newArray;
}
你会像这样使用它:
map( [ 1, 2, 3 ], function ( val ) {
return val * 2;
});