繁体   English   中英

将对象数组中对象的所有值求和 javascript

[英]sum all values of an object in an array of objects javascript

我有一组看起来像这样的对象

[{value: '20'},{value: '20'},{value: '30'}]

我想像这样对变量中的所有值求和

sum = array.GetAllObjectsValues; //output: 70

使用Array.reduce计算总和

const sum = array.reduce((acc, o) => acc + parseInt(o.value), 0)

您可以使用reduceNumber.parseInt

reduce() 方法按顺序对数组的每个元素执行用户提供的“reducer”回调函数,传入前一个元素的计算返回值。 在数组的所有元素上运行 reducer 的最终结果是单个值。

[{value: '20'},{value: '20'},{value: '30'}].reduce((acc, current) => acc + Number.parseInt(current.value), 0)

减少: https ://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

数字解析 Int: https ://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt

你可以用jquery来做

const array = [{value: '20'},{value: '20'},{value: '30'}];

在 $.each 中,您可以遍历这个对象数组

var sum = 0;//Initial value hast to be 0
$.each(array, function(key, value) {
    var number = parseFloat(value.value);//Convert to numbers with parseFloat
    sum += number;//Sum the numbers
});

console.log(sum);//Output 70

编辑:或者如果您不想使用 jquery,这是另一种纯 js 解决方案

var sum = 0;//Initial value hast to be 0
for (let i = 0; i < array.length; i ++) {
    var number = parseFloat(array[i].value);//Convert to numbers with parseFloat
    sum += number;//Sum the numbers
}

console.log(sum);//Output 70

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM