it-swarm-ja.tech

JavaScriptは配列の一部になります

古い配列からn番目から(n + k)番目までのすべての要素を含む新しい配列を作成するにはどうすればよいですか?

66
KalEl

slice メソッドが必要です。

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

スライスメソッドはあなたが望むことをするだろうと思います。

arrayObject.slice(start,end)
13
Eric

スライスは浅いコピーを作成するため、正確なコピーは作成されません。たとえば、次のことを考慮してください。

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]]
2
Victor G.

プロトタイプソリューション:

Array.prototype.take = function (count) {
    return this.slice(0, count);
}
1
Error404

6つのオブジェクトの配列があり、最初の3つのオブジェクトを取得するとします。

解決策:

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