一个介绍js原型方法的网站:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Array.prototype.reduce
[1,2,3].reduce(function(a,b){console.log('参数1:'+a);console.log('参数2:'+b);return a+b;},3)
参数1:3
参数2:1
参数1:4
参数2:2
参数1:6
参数2:3
reduce(function(a,b){},initialValue)
第一个参数为回调方法,第二个参数为初始值(没有,则为数组的第一个值)
回调方法也有2个参数,第一个参数为上一次回调方法返回的结果(第一次则为初始值),第二个参数为数组中的下一个值。
在没有传入初始值的情况下,回调方法执行数组长度减一次
有传入值,回调方法执行数组长度次。
Array.prototype.map
var new_array = arr.map(callback[, thisArg])
var kvArray = [{key:1, value:10},
{key:2, value:20},
{key:3, value: 30}];
var reformattedArray = kvArray.map(function(obj){
var rObj = {};
rObj[obj.key] = obj.value;
return rObj;
});
// reformattedArray is now [{1:10}, {2:20}, {3:30}],
// kvArray is still:
// [{key:1, value:10},
// {key:2, value:20},
// {key:3, value: 30}]