new Array(n) создает неполноценный массив
Объясните пожалуйста, почему так?
Например, следующий скрипт (new Array(1)).map(function(){alert('ok')}) должен вызвать alert('ok') 1 раз, но не делает этого |
Встречный вопрос...
Что ты ожидаешь от этого? Цитата:
|
Тоже что и от
[null] |
freeneutron,
перебирающие методы работают с существующими элементами массива иначе нужен простой for |
freeneutron, попробуй так
new Array(2).fill(1).map(x => alert(x)); |
Еще есть такой вот ES3 говнохак:
Array(5).join('*').split('*').map(...); |
Array(1000).fill(-1); Array.from({length: 1000}, () => -1); Array.from({length: 1000}, function() { return -1; }); Array.apply(null, {length: 1000}).map(function() {return -1}); Array.apply(null, {length: 1000}).map(() => -1); Array(1000).join('-1').split(''); var array = []; for (var i = 0; i < 1000; ++i) { array.push(-1); }; var array = Array(1000); for (var i = 0; i < array.length; array[i++] = -1); Инициализация массива в JavaScript |
Цитата:
Но уже ответили Цитата:
|
Понятно все. Спасибо!
|
Часовой пояс GMT +3, время: 18:45. |