JavaScript参与了一个数组

时间:2009-11-11 16:33:58

标签: javascript

如何创建一个新数组,其中包含旧数组中编号为第n到第(n + k)th的所有元素?

5 个答案:

答案 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