Wie würde ich in Javascript ein leeres Array einer bestimmten Größe erstellen?
Pseudocode:
X = 3;
createarray(myarray, X, "");
Ausgabe:
myarray = ["","",""]
javascript
gus
quelle
quelle
Antworten:
quelle
[,,,,,]
.in javascript how would I create an empty array of a given size
. Dies löst dieses Problem.1) Um ein neues Array zu erstellen, über das Sie nicht iterieren können , können Sie den Array-Konstruktor verwenden:
Array(100)
odernew Array(100)
2) Sie können ein neues Array erstellen, das wie folgt wiederholt werden kann :
a) Alle JavaScript-Versionen
Array.apply(null, Array(100))
b) Ab ES6 JavaScript-Version
[...Array(100)]
Array(100).fill(undefined)
Array.from({ length: 100 })
Sie können diese Arrays wie unten abgebildet.
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]quelle
Array(10000)
mitempty x 10000
?console.log(Array(10000).length)
Aber wenn Sie laufenArray(10000).forEach((u, i) => console.log(i))
, erhalten Sie keine AusgabeArray.apply('x', Array(10))
ist eigentlich[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Wir verwenden
Array.from({length: 500})
seit 2017.quelle
Versuchen Sie es mit
while
loop,Array.prototype.push()
Alternativ mit
Array.prototype.fill()
quelle
.fill()
ist eine elegante Einzeilerlösung. Vielen Dank!Im Jahr 2018 und von da an werden wir
[...Array(500)]
zu diesem Zweck verwenden.quelle
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })()
.Wenn Sie ein leeres Array von
undefined
Elementen möchten , können Sie dies einfach tundas würde dir geben
und wenn Sie möchten, dass es mit leeren Zeichenfolgen gefüllt wird, können Sie dies tun
was würde dir geben
Und wenn Sie es in einer Zeile tun möchten:
quelle
new Array(2)
gibt Ihnen[undefined, undefined]
und es ist absolut iterierbar. Es ist einfach so, dass bei Vanille-JSsforEach()
, von denen ich annehme, dass Sie sie zum Testen Ihrer Theorie verwenden, der Rückruf nicht für Array-Elemente aufgerufen wird, die nicht initialisiert sind (wieundefined
es der Fall wäre). Wenn Sie jedoch andere iterative Methoden verwenden, z. B. jQuery's$.each()
, können Sie feststellen, dass dieundefined
Werte tatsächlich vorhanden sind :$.each(new Array(5), function(index, element) { console.log('element:', element) })
.new Array(2)
und was ich zurück bekomme, ist[ <2 empty items> ]
nicht[undefined, undefined]
. Die Verwendung.map
auf dem ersteren hat keine Auswirkung. Ich kann es jedoch mit einerfor...of
Schleife durchlaufen . Wenn ich ein neues Array in Literalschreibweise erstelle,a = [undefined, undefined]
kann ich.map
es verwenden.Array(5)
. Sie sehen die folgende Ausgabe :[undefined x 5]
.Wenn Sie ein anonymes Array mit einigen Werten erstellen möchten, können Sie diese Syntax verwenden.
quelle
Sie können beide Javascript-Methoden repeat () und split () zusammen verwenden.
Dieser Code erstellt ein Array mit 10 Elementen und jedes Element ist eine leere Zeichenfolge.
quelle