Такой код
x = new Array(5);
y = x.map((item) => item = 7);
console.log(y);
ничего не сделает(выведет 5 undefined);
не если задать массив через цикл то все ОК;
в чем проблема?
Ответ
map обходит массив только по существующим элементам.
В данном случае будет создан массив с 5 дырками. Поэтому применение map здесь ничего не даст.
Кроме того, для заполнения массива, map использовать неверно. Вместо него, лучше использовать fill
x = new Array(5);
x.fill(7);
console.log(x);
Если же заполнять массив нужно не константным объектом, а зависящим, например, от индекса, можно воспользоваться функцией Array.from
x = Array.from({
length: 5
}, (el, index) => index);
console.log(x);
Комментариев нет:
Отправить комментарий