Почему не работает reduce
let vasya = { name: "Вася", age: 25 }; let petya = { name: "Петя", age: 30 }; let masha = { name: "Маша", age: 28 }; let users = [ vasya, petya, masha ] let names = users.reduce((arr, user) => arr.push(user.name), []) alert(names) Я ожидал, что arr будет массивом имён, но при второй и последующих итерациях там undefined, а не массив |
lgick,
где return arr?!!! |
Цитата:
let vasya = { name: "Вася", age: 25 }; let petya = { name: "Петя", age: 30 }; let masha = { name: "Маша", age: 28 }; let users = [ vasya, petya, masha ] let names = users.map(el => el.name) alert(names) |
lgick,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
let vasya = { name: "Вася", age: 25 }; let petya = { name: "Петя", age: 30 }; let masha = { name: "Маша", age: 28 }; let users = [ vasya, petya, masha ] let names = users.reduce((arr, user) => { arr.push(user.name) return arr }, []) alert(names) так работает, но я думал без "{", "}" и return тоже должно работать |
Цитата:
Оператор «запятая» |
let vasya = { name: "Вася", age: 25 }; let petya = { name: "Петя", age: 30 }; let masha = { name: "Маша", age: 28 }; let users = [ vasya, petya, masha ] let names = users.reduce((arr, user) => (arr.push(user.name), arr), []) alert(names) работает. |
lgick,
/ добавьте |
Цитата:
|
пытаюсь, нажимаю сохранить, а он не сохраняет)
|
Часовой пояс GMT +3, время: 07:42. |