我正在尝试使用我构建为回调的.each函数构建Javascript / Underscore .reduce方法。
我想确保.reduce函数足够通用,不仅可以在我包含的示例中工作,而且可以在Underscore .reduce工作的任何地方工作。
这是我目前所处的位置。任何反馈都表示赞赏。谢谢!
var list =[1,2,3,4,5,6];
var objList = {name:'mike', color:"blue", hair:"brown"};
//.each function
function each(list, callback) {
//console.log(list.constructor==="Object");
if(list.constructor===Object) {
for (var key in list) {
callback(list[key]);
}
}
else if (list.constructor===Array) {
//console.log("Array")
for(var i=0; i<list.length; i++) {
callback(list[i]);
}
}
}
//.reduce function
function reduce(list,startVal,accumulator) {
var total;
each(list, function(accumulator) {
total=accumulator;
})
return total
}
//test accumulator function
function printTwo(val) {
return val;
}
alert(reduce(list, 0, printTwo));
alert(reduce(objList, 0, printTwo));
&#13;