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 = ["","",""]
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 = ["","",""]
Respuestas:
var arr = new Array(5);
console.log(arr.length) // 5
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) o new 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]
Array(10000)con empty x 10000?
console.log(Array(10000).length)Pero si ejecuta Array(10000).forEach((u, i) => console.log(i)), no obtendrá salida
Array.apply('x', Array(10))es en realidad[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Usamos Array.from({length: 500})desde 2017.
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("");
.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.
(() => { 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 hacer
var 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('');
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 un for...ofbucle. Si creo una nueva matriz usando notación literal a = [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)
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>