javascript üres tömb létrehozása adott méretben
javascriptben hogyan hoznék létre egy üres tömböt adott mérettel
Pseudokód:
X = 3;
createarray(myarray, X, "");
kimenet :
myarray = ["","",""]
Válasz #1
1) Új tömb létrehozásához, amin nem lehet iterálni, használhatod a tömb konstruktorát:
Array(100) vagy new Array(100)
2) Létrehozhatsz egy új tömböt, amely meghatározott módon bejárható, mint az alábbi:
a) Minden JavaScript verzió
- Array.apply:
Array.apply(null, Array(100))
b) Az ES6 JavaScript verziótól
- Destrukturáló operátor:
[...Array(100)] - Array.prototype.fill
Array(100).fill(undefined) - Array.from
Array.from({ length: 100 })
Ezeken a tömbökön így tudsz végigiterálni.
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]
Válasz #2
var arr = new Array(5);
console.log(arr.length) // 5
Válasz #3
2017 óta használjuk a Array.from({length: 500}) kódot.
Válasz #4
Az ES5-ötől (amikor ezt a választ adták): :
Ha egy üres tömböt szeretnél undefined elemekkel, egyszerűen megteheted így
var whatever = new Array(5);
ez adna neked
[undefined, undefined, undefined, undefined, undefined]
Az újabb verziókban ez most ad
[empty × 5]
Lásd ezt a másik kérdést az üres és a meghatározatlan közötti különbségről.
Ha azt akartad, hogy üres karakterláncokkal legyen feltöltve, megtehetted volna
whatever.fill('');
ami adna neked
["", "", "", "", ""]
És ha egy sorban szeretnéd csinálni:
var whatever = Array(5).fill('');
Válasz #5
Próbáld meg használni a while ciklust, a Array.prototype.push() metódust
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
Alternatívaként a Array.prototype.fill() használata
var myArray = Array(3).fill("");
Válasz #6
2018-ban és azután ehhez a célhoz a [...Array(500)]-t fogjuk használni.
