em javascript como eu criaria um array vazio de um determinado tamanho
Código Psuedo:
X = 3;
createarray(myarray, X, "");
resultado:
myarray = ["","",""]
em javascript como eu criaria um array vazio de um determinado tamanho
Código Psuedo:
X = 3;
createarray(myarray, X, "");
resultado:
myarray = ["","",""]
Respostas:
var arr = new Array(5);
console.log(arr.length) // 5
in javascript how would I create an empty array of a given size. Isso resolve o problema.
1) Para criar uma nova matriz que não possa ser repetida , você pode usar o construtor de matriz:
Array(100) ou new Array(100)
2) Você pode criar uma nova matriz, que pode ser iterada como a seguir:
a) Todas as versões de JavaScript
Array.apply(null, Array(100))b) Da versão ES6 JavaScript
[...Array(100)]Array(100).fill(undefined)Array.from({ length: 100 })Você pode mapear esses arrays como abaixo.
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(10000)com empty x 10000?
console.log(Array(10000).length)Mas se você executar Array(10000).forEach((u, i) => console.log(i)), você não obterá saída
Array.apply('x', Array(10))é na verdade[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Usamos Array.from({length: 500})desde 2017.
Tente usar whileloop,Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
Alternativamente, usando Array.prototype.fill()
var myArray = Array(3).fill("");
.fill()é uma solução elegante de um revestimento. Obrigado!
Em 2018 e daí em diante usaremos [...Array(500)]para esse fim.
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })().
No ES5 (quando esta resposta foi dada):
Se você quiser uma matriz vazia de undefinedelementos, pode simplesmente fazer
var whatever = new Array(5);
isso daria a você
[undefined, undefined, undefined, undefined, undefined]
e então se você quiser que ele seja preenchido com strings vazias, você pode fazer
whatever.fill('');
o que daria a você
["", "", "", "", ""]
E se você quiser fazer isso em uma linha:
var whatever = Array(5).fill('');
new Array(2)e o que recebo [ <2 empty items> ]não é [undefined, undefined]. Usar .mapno primeiro não tem efeito. No entanto, posso iterar sobre ele usando um for...ofloop. Se eu criar uma nova matriz usando notação literal a = [undefined, undefined], posso usar .mapnela.
Array(5). Você verá o seguinte resultado: [undefined x 5].
Se você deseja criar uma matriz anônima com alguns valores, pode usar esta sintaxe.
var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)
Você pode usar os métodos de javascript repeat () e split () juntos.
" ".repeat(10).split(" ")
Este código criará uma matriz com 10 itens e cada item é uma string vazia.
const items = " ".repeat(10).split(" ")
document.getElementById("context").innerHTML = items.map((item, index) => index)
console.log("items: ", items)
<pre id="context">
</pre>