Вопрос №55784 от пользователя Дмитрий Епихин в уроке «Fluent Interface», курс «JS: Объектно-ориентированный дизайн»

Дмитрий Епихин

Вопрос по решению учителя:

// Почему не будет работать вот такой return? Зачем country заключать в массив?
return { ...acc, country: [...uniqueCities] };
5 0

Павел Дерюгин

Дмитрий Епихин, Здравствуйте!

Свойство объекта country в данном случае является вычисляемым и для таких свойств необходимы квадратные скобки. Без них вы возвращаете объект со свойством, которое имеет имя 'country', а не подставляете нужный вам результат в это свойство.

2

Maksim Litvinov

Нам же нужно, чтобы для каждой страны был массив городов. В константе uniqueCities содержится объект Set. В этой строке в решении учителя из элементов множества Set создается массив и записывается в свойство объекта.

1

Дмитрий Епихин

Максим Литвинов, Я это понял. Я не понял зачем брать country в квадратные скобки? Это же название страны - строка записанная в константу "country".

0

Maksim Litvinov

Прошу прощения, Дмитрий. Неправильно понял вопрос. Павел правильно ответил, это динамическое формирование ключа объекта. В объекте создается свойство с именем, которое содержится в переменной country:

const country = 'Russia';
const cities = { [country]: 'Moscow' };
console.log(cities); // { Russia: 'Moscow' }
1

P y t h o n

Дмитрий Епихин, Все просто.

2

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев