en javascript, ¿cómo crearía una matriz vacía de un tamaño dado?
Código Psuedo:
X = 3;
createarray(myarray, X, "");
salida:
myarray = ["","",""]
javascript
gus
fuente
fuente

Respuestas:
var arr = new Array(5); console.log(arr.length) // 5fuente
in javascript how would I create an empty array of a given size. Esto resuelve ese problema.1) Para crear una nueva matriz sobre la que no puede iterar , puede usar el constructor de matriz:
Array(100)onew Array(100)2) Puede crear una nueva matriz, que se puede iterar como se muestra a continuación:
a) Todas las versiones de JavaScript
Array.apply(null, Array(100))b) Desde la versión de JavaScript ES6
[...Array(100)]Array(100).fill(undefined)Array.from({ length: 100 })Puede mapear estas matrices como se muestra a continuación.
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]fuente
Array(10000)conempty x 10000?console.log(Array(10000).length)Pero si ejecutaArray(10000).forEach((u, i) => console.log(i)), no obtendrá salidaArray.apply('x', Array(10))es en realidad[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]Usamos
Array.from({length: 500})desde 2017.fuente
Intenta 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("");fuente
.fill()es una elegante solución de una sola línea. ¡Gracias!En 2018 y de ahora en adelante usaremos
[...Array(500)]para ese fin.fuente
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })().A partir de ES5 (cuando se dio esta respuesta):
Si desea una matriz vacía de
undefinedelementos, simplemente puede hacervar whatever = new Array(5);esto te daría
[undefined, undefined, undefined, undefined, undefined]y luego, si desea que se llene con cadenas vacías, puede hacer
whatever.fill('');que te daría
["", "", "", "", ""]Y si quieres hacerlo en una línea:
var whatever = Array(5).fill('');fuente
new Array(2)y lo que obtengo[ <2 empty items> ]no lo es[undefined, undefined]. Usar.mapen el primero no tiene ningún efecto. Sin embargo, puedo iterar sobre él usando unfor...ofbucle. Si creo una nueva matriz usando notación literala = [undefined, undefined], puedo usarla.map.Array(5). Verá el siguiente resultado:[undefined x 5].Si desea crear una matriz anónima con algunos valores, puede usar esta sintaxis.
var arr = new Array(50).fill().map((d,i)=>++i) console.log(arr)fuente
Puede usar ambos métodos de JavaScript, repeat () y split () juntos.
" ".repeat(10).split(" ")Este código creará una matriz que tiene 10 elementos y cada elemento es una cadena vacía.
const items = " ".repeat(10).split(" ") document.getElementById("context").innerHTML = items.map((item, index) => index) console.log("items: ", items)<pre id="context"> </pre>fuente