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

gbl*_*777 4 javascript firebase reactjs react-native firebase-realtime-database

我正在使用firebase并做出本机反应.

我从我的firebase数据库返回了一个如下所示的数组.

[Object, Object, Object]
Run Code Online (Sandbox Code Playgroud)

在每个对象下,我返回了一个项目,"级别:4".

所以我有三个包含4,5,6的对象.我如何将这些加在一起?

谢谢!

Yas*_*obi 9

您可以使用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);
Run Code Online (Sandbox Code Playgroud)


epa*_*llo 8

一个简单的循环

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)
Run Code Online (Sandbox Code Playgroud)

或减少

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