Wie kann ich ein neues Array erstellen, das alle Elemente enthält, die mit einem n-ten bis (n + k) -ten von einem alten Array nummeriert sind?
Antworten:
Slice erstellt eine flache Kopie, sodass keine exakte Kopie erstellt wird. Betrachten Sie beispielsweise 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]]
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