從火力地堡雲功能我做查詢在火力地堡實時數據庫是這樣的:的forEach和箭頭功能給出了火力地堡實時數據庫意想不到的效果
let logs = this.firebase.database()
.ref('logs')
.orderByChild("userId").equalTo(userId)
.once('value');
返回數據:
{
"id1abc": {
"myValue": 1,
"userId": "abc"
},
"id2abc": {
"myValue": 2,
"userId": "abc"
},
"id3abc": {
"myValue": 3,
"userId": "abc"
}
}
查詢返回一對夫婦其中值我想總結的項目:
let loggedVal = 0;
logs.forEach(log => {
loggedVal += log.val().myValue;
});
return loggedVal;
裏面的箭頭函數forEach在這種情況下給我適當的價值(總和等於6)。
但是當我刪除括號喜歡這裏:
let loggedVal = 0;
logs.forEach(log => loggedVal += log.val().myValue);
return loggedVal;
返回值不是總和,但我從中遍歷的第一個元素(loggedVal == 6)只值。任何人都可以解釋差異來自哪裏?
如何在一個'Object'中首先使用'forEach'?您向我們展示的返回數據不是符合「Array.forEach」條件的Array。 –