所以我剛剛學會了如何爲for循環創建一個函數。 下面是我們所擁有的:在向數組推送特定鍵時遇到問題
function each(array, func) {
for (var i = 0; i <array.length; i++) {
func(array[i]);
}
}
現在我試圖把目前正使用一個for循環已經取得功能,並與每個替換它。
var people = [
{name: {first: "Alyssa", middle: "P.", last: "Hacker"}, age: 26},
{name: {first: "Ben", last: "Bitdiddle"}, age: 34}
];
function ages1(people) {
var acc = [];
for (var i = 0; i < people.length; i++) {
acc.push(people[i].age);
}
return acc;
}
該函數返回[26,34]
所以現在我創造了這個:
function ages(people) {
var acc = [];
each(people, function(age) {
acc.push(people[i].age);
});
return acc;
}
我收到一條 「我沒有定義」 的錯誤。如果我不能使用i來引用每個數字,我還能如何將每個年齡推入新數組?
FUNC(陣列[I]); < - 你已經有了數組元素,所有你需要的是用acc.push(age.age)改變acc.push(people [i] .age)。 – GSazheniuk
現在學習如何使用瀏覽器開發工具進入和調試變量......編寫代碼只是戰鬥的1/2 ...學習自己調試它是最有價值的 – charlietfl
爲什麼不只是'var ages = people.map (x => x.age);' - > https://jsfiddle.net/2jyv9w0o/ – adeneo