2009-11-11 20 views

Odpowiedz

96

Chcesz metodę slice.

var newArray = oldArray.slice(n, n+k); 
+17

Podczas W3Schools nie wydaje się mieć jakieś błędy na tej stronie (co jest niezwykłe), myślę, że dokumentacja MDC jest lepsze: https: //developer.mozilla .org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/slice – Quentin

12

Myślę, że metoda plasterka zrobi to, co chcesz.

arrayObject.slice(start,end) 
1

Plasterek tworzy płytką kopię, więc nie tworzy dokładnej kopii. Na przykład, należy rozważyć następujące kwestie:

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]] 
+4

Proszę podać więcej informacji na temat tej odpowiedzi. – Esteban

0

powiedzmy mamy tablicę sześciu obiektów, a chcemy uzyskać pierwsze trzy obiektów.

Rozwiązanie:

var arr = [{num:1}, {num:2}, {num:3}, {num:4}, {num:5}, {num:6}]; 
arr.slice(0, 3); //will return first three elements