我正在嘗試撰寫一個函式,該函式將使用一個陣列呼叫,該陣列包含一個人的資訊,例如他們的姓名和年齡。我需要這個函式來抓取所有的數字,然后回傳它們然后加起來。我已經做了一些研究,對于像我這樣的初學者來說,我需要以最簡單的方式執行此操作嗎?
對任何拼寫錯誤/錯誤的行話表示歉意,因為我的閱讀障礙有時會變得更好。呼叫時將哪種陣列傳遞給函式的示例;
{ name: 'Clarie', age: 22 },
{ name: 'Bobby', age: 30 },
{ name: 'Antonio', age: 40 },
將回傳總添加數。// 回傳 92
為什么我正在呼叫此函式的陣列不起作用?您能否為我提供一個作業示例,而不像其他答案那樣對陣列進行硬編碼?- 我將一個陣列傳遞給函式。主要目標是從傳入的陣列中獲取任意數字,并將它們與回傳 0 的空陣列相加。
function totalNums(person) {
person.reduce((a,b) => a b, 0)
return person.age;
}
console.log(totalNums([]))
uj5u.com熱心網友回復:
您需要保存減少的結果。
例如,您可以使用數字陣列:
function totalNums(person) {
let res = person.reduce((a,b) => a b, 0)
return res;
}
console.log(totalNums([5,6,4]))
對于你的例子,你想做這樣的事情:
function totalNums(person) {
let res = person.reduce((a,b) => a b.age, 0)
return res;
}
console.log(totalNums([
{ name: 'Clarie', age: 22 },
{ name: 'Bobby', age: 30 },
{ name: 'Antonio', age: 40 }
]))
uj5u.com熱心網友回復:
您需要將結果保存到一個新變數中,然后 console.log() 像這樣
const arr= [{ name: 'Clarie', age: 22 },
{ name: 'Bobby', age: 30 },
{ name: 'Antonio', age: 40 },...
];
function totalNums(person) {
let res = person.reduce((a,b) => a b.age, 0)
return res;
}
console.log(totalNums(arr));
這就是為什么它必須是這樣的
。減少()
js 方法,如,.map()和其他一些方法,它們回傳一個新陣列,它們不會修改原始陣列。你可以,你會得到這個輸出:.filter().reduce()console.log(arr);
[{ name: 'Clarie', age: 22 },
{ name: 'Bobby', age: 30 },
{ name: 'Antonio', age: 40 },...
];
即使在運行函式之后,您的原始陣列也不會改變,因此為了獲得您期望的結果,您需要將其存盤在一個新變數中
uj5u.com熱心網友回復:
function totalNums(person) {
person.reduce((a,b) => a b, 0)
return person.age;
}
console.log(totalNums([]))
談論您創建的功能是不正確的,因為:
return person.age;在這里,您將陣列傳遞給函式,然后像訪問物件一樣訪問它。person.reduce((a,b) => a b, 0)你不能添加a并且b因為b是一個物件。- 您沒有存盤
reduce函式將回傳的值。
解決方案如下:
reduce 函式總是回傳一些東西它永遠不會對原始陣列進行更改。
function totalNums(persons) {
const totalAge = persons.reduce((total, person) => total person.age, 0);
return totalAge;
}
const persons = [
{ name: "Clarie", age: 22 },
{ name: "Bobby", age: 30 },
{ name: "Antonio", age: 40 },
];
console.log(totalNums(persons));
- 您可以將上述代碼片段中的and分別替換為
totalandperson以供參考。ab
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/508640.html
