[英]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)
您可以使用reduce
和Number.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.