JavaScript参与数组

JavaScript参与数组,javascript,Javascript,如何创建一个新数组,该数组包含旧数组中编号为n到(n+k)th的所有元素?您需要该方法 我认为切片方法可以满足您的需要 arrayObject.slice(start,end) 切片创建浅拷贝,因此它不会创建精确拷贝。例如,考虑以下内容: var foo = [[1], [2], [3]]; var bar = foo.slice(1, 3); console.log(bar); // = [[2], [3]] bar[0][0] = 4; console.log(foo); // [[1],

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

您需要该方法


我认为切片方法可以满足您的需要

arrayObject.slice(start,end)

切片创建浅拷贝,因此它不会创建精确拷贝。例如,考虑以下内容:

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]]
假设我们有一个由六个对象组成的数组,我们想要得到前三个 对象

解决方案:

var arr = [{num:1}, {num:2}, {num:3}, {num:4}, {num:5}, {num:6}];
arr.slice(0, 3); //will return first three elements
原型解决方案:
虽然W3C在该页面上似乎没有任何错误(这是不寻常的),但我认为MDC文档更好:
var arr = [{num:1}, {num:2}, {num:3}, {num:4}, {num:5}, {num:6}];
arr.slice(0, 3); //will return first three elements
Array.prototype.take = function (count) {
    return this.slice(0, count);
}