如何使两个或者多个对象里的value值相加

let obj_1 = {
   value:1
}
let obj_2 = {
   value:2
}

如何使两个或者多个对象里的value值相加
obj是可动态添加的,obj里面的value也是需要输入的,value初始值都是0
比如:obj_1里的value值是1,然后我添加一个对象obj_2,输入2,obj_2的value就是2,最后需要把obj_1和obj_2的value值相加,得到value:3

放到数组中,forEach变量下数组中的对象的value属性相加


    let obj_1 = {
        value: 1
    }
    let obj_2 = {
        value: 2
    }

    let arr = [obj_1, obj_2], sum = 0

    arr.forEach(i => sum += i.value);
    alert(sum)

定义一个集合,写个方法,对集合中的每个元素的value属性取和 最后返回

在动态添加的按钮点击时,把对象push到数组,然后再遍历计算

let obj_1 = {
        value: 1
    }
    let obj_2 = {
        value: 2
    }
    let arr = [], val = 0;
    function add() {
        arr.push({ value: xxx })
        arr.forEach(item => {
            val = val + item.value;
        })
    }

如果他们都是对象,且对象的都有这个字段,则可以在创建这些对象的时候把他们添加到数组里面,然后再在数组里面循环获取这个对象的这个值,并相加即可。

 obj【】 ;
sum=0;
let obj_1 = {
   value:1
}
obj【0】=obj_1;
let obj_2 = {
   value:2
}
obj【1】=obj_2;

for  (  int i=0;i<obj.leng;i++){
     sum+=obj[i].value
}

通过arguments才能实现你的动态添加obj


function sum () {
  let result = 0;
  Array.prototype.forEach.call(arguments,function(obj){
    result += obj.value
  });
  return result;
}
let obj1 = {
  value: 1,
}
let obj2 = {
  value: 4,
}
let obj3 = {
  value: 7,
}
console.log(sum(obj1,obj2,obj3)) //
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632