我正在嘗試回傳所有交易的總和,但程式沒有回傳總和
問題
定義一個函式,totalTransactions,它接受一個稱為事務的物件陣列。
totalTransactions 應該回傳在所有交易上花費的總金額。
我的代碼
function totalTransactions(transactions){
let sum = 0
for (key in transactions){
transactions[key] =sum;
}
return sum;
}
給定資訊 這是一個嵌套的資料結構。與二維陣列類似,我們可以使用括號和點符號的組合來訪問嵌套的鍵值對
例如,要訪問名字和金額值,我們可以使用索引 0(對于第一個串列項),后跟各個鍵值:
給定示例代碼
let transactions = [
{
name: "Tons of glitter",
amount: 70
},
{
name: "Porcelain Pink Flamingos",
amount: 92
},
{
name: "Chandelier replacement",
amount: 10000,
},
{
name: "Dinner at TGIF x6",
amount: 350
}
];
lastFridayNight(transactions) // => 10512
uj5u.com熱心網友回復:
你在陣列上使用 for..in,試試 for..of。我可以看到一個將用于 totalTransactions 引數的示例陣列嗎?另外,我確定您應該像這樣切換重新分配,sum = transactions[key];以便重新分配 tsum 而不是物件。
uj5u.com熱心網友回復:
function totalTransactions(t) {
let sum = 0;
t.forEach(item => {
sum = item.amount;
})
return sum;
}
uj5u.com熱心網友回復:
由于您正在計算聚合,因此reduce是您的朋友。
sum從等于數字 0的 a 開始。在每個中間步驟中,將amount當前事務的 a 添加到聚合中。
let transactions = [
{
name: "Tons of glitter",
amount: 70
},
{
name: "Porcelain Pink Flamingos",
amount: 92
},
{
name: "Chandelier replacement",
amount: 10000,
},
{
name: "Dinner at TGIF x6",
amount: 350
}
];
function totalTransactions(transactions) {
return transactions.reduce((sum, tx) => sum tx.amount, 0);
}
console.log(totalTransactions(transactions));
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/508662.html
上一篇:如何重用測驗實作?
