纯牛奶645
纯牛奶645
  • 发布:2017-12-17 15:22
  • 更新:2017-12-17 15:22
  • 阅读:1630

js的reduce()方法

分类:Native.js
js

reduce()和reduceRight()
var numbers= [65,44,12,4];
function getSum (total,num) {
return total+num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
p158 7.9.5
数值的数组
var a = [1,2,3,4,5];
var sum = a.reduce(function(x,y){return x+y});//15
var product = a.reduce(function(x,y){return xy});//数组求积
var max = a.reduce(function(x,y){return (x>y)?x:y});//求最大值
对象
/

*返回一个新对象,这个对象同时拥有o的属性和p的属性
*如果o和p中有重名属性,使用p中的属性值
/
function union(o,p){return extend(extend({},o),p);}
/

*把p中的可枚举属性复制到o中,并返回o
*如果o和p中含有同名属性,则覆盖o中的属性
*这个函数并不处理getter和setter以及复制属性
*/
function extend(o,p) {
for (prop in p){ //遍历p中的所有属性
o[prop] = p[prop]; //将属性添加至o中
}
return o;
}

var objects = [{x:1},{y:2},{z:3}];
var merged = objects.reduce(union); // {xL1,y:2,z:3}

var objects = [{x:1,a:1},{y:2,a:2},{z:3,a:3}];
var leftunion = objects.reduce(union); //{x:1,y:2,z:3,a:1}
var rightunion = objects.recuceRight(union);// {x:1,y:2,z:3,a:3}

0 关注 分享

要回复文章请先登录注册