如何创建一个新数组,其中包含旧数组中编号为第n到第(n + k)th的所有元素?
答案 0 :(得分:103)
您需要slice方法。
var newArray = oldArray.slice(n, n+k);
答案 1 :(得分:13)
我认为切片方法可以做你想要的。
arrayObject.slice(start,end)
答案 2 :(得分:2)
切片会创建浅拷贝,因此不会创建精确的副本。例如,请考虑以下事项:
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]]
答案 3 :(得分:1)
Array.prototype.take = function (count) {
return this.slice(0, count);
}
答案 4 :(得分:0)
假设我们有一个包含六个对象的数组,我们希望得到前三个 对象。
解决方案:
var arr = [{num:1}, {num:2}, {num:3}, {num:4}, {num:5}, {num:6}];
arr.slice(0, 3); //will return first three elements