使用自定义.each回调重新创建Javascript / Underscore

时间:2014-11-24 18:40:18

标签: javascript callback underscore.js

我正在尝试使用我构建为回调的.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;
&#13;
&#13;

0 个答案:

没有答案