в JavaScript, как бы я создать пустой массив заданного размера
Код Псуэдо:
X = 3;
createarray(myarray, X, "");
выход:
myarray = ["","",""]
в JavaScript, как бы я создать пустой массив заданного размера
Код Псуэдо:
X = 3;
createarray(myarray, X, "");
выход:
myarray = ["","",""]
var arr = new Array(5);
console.log(arr.length) // 5
1) Чтобы создать новый массив, который вы не можете перебрать, вы можете использовать конструктор массива:
Array(100)
или new Array(100)
2) Вы можете создать новый массив, который можно повторять, как показано ниже:
а) Все версии JavaScript
Array.apply(null, Array(100))
б) из ES6 версии JavaScript
[...Array(100)]
Array(100).fill(undefined)
Array.from({ length: 100 })
Вы можете отобразить эти массивы, как показано ниже.
Array(4).fill(null).map((u, i) => i)
[0, 1, 2, 3]
[...Array(4)].map((u, i) => i)
[0, 1, 2, 3]
Array.apply(null, Array(4)).map((u, i) => i)
[0, 1, 2, 3]
Array.from({ length: 4 }).map((u, i) => i)
[0, 1, 2, 3]
Мы используем Array.from({length: 500})
с 2017 года.
Попробуйте использовать цикл while
, Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
В качестве альтернативы, используя Array.prototype.fill()
var myArray = Array(3).fill("");
В 2018 году и с этого времени мы будем использовать [...Array(500)]
с этой целью.
Если вам нужен пустой массив элементов undefined
, вы можете просто сделать
var whatever = new Array(5);
это даст вам
[undefined, undefined, undefined, undefined, undefined]
а затем, если вы хотите, чтобы он был заполнен пустыми строками, вы могли бы сделать
whatever.fill('');
который даст вам
["", "", "", "", ""]
И если вы хотите сделать это в одной строке:
var whatever = Array(5).fill('');
Я бы сделал это:
function emptyArray(length){
var a = [];
for(var i=0,l=length; i<l; i++){
a.push('');
}
return a;
}
var empty10 = emptyArray(10);
если вы хотите пустые строки, иначе
var empty10 = new Array(10);
сделает действительно пустой массив.