Задать вопрос
@asdasdqwe

Как работает этот код?

let nums = [1, 2, 3];

console.log( [...nums].map([].pop, nums) )     // 3, 2, 1
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Второй аргумент в Array.map() — это thisArg для функции.

Тут абстрактный от конкретного массива pop() будет вызываться в контексте начального массива nums — последовательно выдирая из него последний из оставшихся элементов: 3, 2, 1
Массив nums, соответственно, на каждой итерации будет становиться на 1 элемент короче.

Копия исходного массива [...nums] нужна только ради его первоначальной длины, чтобы вызвать дальнейшую магию правильное число раз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы