Wie kann ich ein neues Array erstellen, das alle Elemente mit den Nummern n bis (n+k) aus einem alten Array enthält?
JavaScript ist Teil eines Arrays
Bob
Du willst die Scheibe Methode.
var newArray = oldArray.slice(n, n+k);
-
Während W3Schools auf dieser Seite keine Fehler zu haben scheint (was ungewöhnlich ist), denke ich, dass die MDC-Dokumentation besser ist: developer.mozilla.org/en/Core_JavaScript_1.5_Reference/…
– QUentin
11. November 2009 um 16:38 Uhr
Ich denke, die Slice-Methode wird tun, was Sie wollen.
arrayObject.slice(start,end)
Viktor G.
Slice erstellt eine flache Kopie, also keine exakte Kopie. Betrachten Sie zum Beispiel Folgendes:
var foo = [[1], [2], [3]];
var bar = foo.slice(1, 3);
console.log(bar); // = [[2], [3]]
bar[0][0] = 4;
console.log(foo); // [[1], [4], [3]]
console.log(bar); // [[4], [3]]
Fehler 404
Prototyp-Lösung:
Array.prototype.take = function (count) {
return this.slice(0, count);
}
Nehmen wir an, wir haben ein Array von sechs Objekten und möchten die ersten drei Objekte erhalten.
Lösung :
var arr = [{num:1}, {num:2}, {num:3}, {num:4}, {num:5}, {num:6}];
arr.slice(0, 3); //will return first three elements