Weboldal keresés

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.

Kapcsolódó cikkek