Итак, я просто научился создавать функцию для цикла for. Вот что мы имеем:Не удалось нажать конкретный ключ в массив
function each(array, func) {
for (var i = 0; i <array.length; i++) {
func(array[i]);
}
}
Сейчас я пытаюсь взять уже сделал функцию, которая использует для цикла, и заменить его с каждым.
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 (массив [я]); <- у вас уже есть элемент массива, все, что вам нужно, это изменить acc.push (people [i] .age) с acc.push (age.age). – GSazheniuk
теперь узнайте, как вставлять и отлаживать переменные, используя инструменты вашего браузера dev ... писать код - это только 1/2 битвы ... научиться самому отлаживать его самому, самое ценное – charlietfl
Почему бы не просто «var age = people.map» (x => x.age); '-> h.age);' -> h.psps://jsfiddle.net/2jyv9w0o/ – adeneo