這應該是一項簡單的任務,但我在
做這件事時遇到了一些麻煩。
我有以下物件:
{
"chatRoom": [
{
"_count": {
"publicMessages": 10
}
},
{
"_count": {
"publicMessages": 10
}
},
{
"_count": {
"publicMessages": 10
}
}
],
}
我想獲得
“publicMessages”中每個值的總和
所需的輸出:
{
"totalMessages": 30
}
uj5u.com熱心網友回復:
您可以使用該Array.reduce()功能。如果該物件位于名為 的變數obj中,則可以使用以下方法實作:
const result = {
totalMessages: obj.chatRoom.reduce((acc, cur) => acc cur._count.publicMessages, 0)
};
uj5u.com熱心網友回復:
Array.reduce() 是解決方案,您可以像這樣運行它:
const obj={chatRoom:[{_count:{publicMessages:10}},{_count:{publicMessages:10}},{_count:{publicMessages:10}}]};
let sum = obj.chatRoom.reduce( (acc, curr)=>{ return acc =curr._count.publicMessages??0},0);
console.log(sum);
uj5u.com熱心網友回復:
如果您想要比 更詳細和易于理解的東西reduce,一個簡單的 for/of回圈可能會對您有所幫助。
const data={chatRoom:[{_count:{publicMessages:10}},{_count:{publicMessages:10}},{_count:{publicMessages:10}}]};
// Initialise the total
let totalMessages = 0;
// Loop over the chatRoom array of objects
// and add the publicMessages value to the total
for (const obj of data.chatRoom) {
totalMessages = obj._count.publicMessages;
}
// Log the total
console.log({ totalMessages });
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443522.html
標籤:javascript 节点.js ecmascript-6
上一篇:如何在快速路由器中使用Axios
