如何计算数组中对象键的总和 - javascript

IT技术 javascript reactjs firebase react-native firebase-realtime-database
2021-05-22 18:42:16

问题

我正在使用 firebase 并做出本机react。

我从我的 firebase 数据库中返回了一个数组,看起来像这样。

[Object, Object, Object]

在每个对象下,我返回了一个项目,“级别:4”。

所以我有三个包含 4,5,6 的对象。我如何总结这些?

谢谢!

4个回答

您可以使用 Javascript 的 reduce 功能。这与@epascarello 的答案基本相同,但采用 ES6 语法。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

const arr = [{level:2},{level:4},{level:5}]; 

const total = arr.reduce((prev,next) => prev + next.level,0);

console.log(total);

要么是一个简单的循环

var a = [{level:1},{level:2},{level:3},{level:4}],
        total = 0;
    for (var i=0; i<a.length; i++) {
        total += a[i].level;
    }
console.log('total', total)

或减少

var a = [{level:1},{level:2},{level:3},{level:4}]
console.log(a.reduce( function(cnt,o){ return cnt + o.level; }, 0))

使用Array.prototype.forEach()方法遍历数组并对元素求和。

让我们假设你的数组是var foo = [object, object, object] Eachobject有这样的结构,{ level : 4 }

像这样写代码:

var sum = 0;
foo.forEach(function(obj){
  sum += obj.level;
});

sum 将存储总和

此代码将计算数组的总和。首先声明一个变量;此变量的名称将为sum. sum包含总和。其次,声明一个numbers类型为 的变量Array此变量将包含数字。

然后我们开始一个循环 (for) 操作,其中我们将sum的值分配给变量(sum= sum+i);然后我们显示(document.write)数字和总和。

var summa = 0 , i ;
var numbers= [1,2,3,4,5];
for(i = 0; i <= numbers.length; i++){
    summa=summa+i;
} 
document.write(numbers , ": bu reqemlerin cemi " ,"=" , summa);