根据javascript中的索引将数组拆分为两个

时间:2011-07-29 11:46:55

标签: javascript arrays split

我有一个包含对象列表的数组。我想将这个数组拆分为一个特定的索引,比如说4(实际上这是一个变量)。我想将split数组的第二部分存储到另一个数组中。可能很简单,但我无法想到一个很好的方法来做到这一点。

6 个答案:

答案 0 :(得分:57)

使用slice,因此:

var ar = [1,2,3,4,5,6];

var p1 = ar.slice(0,4);
var p2 = ar.slice(4);

答案 1 :(得分:8)

您可以使用Array@splice来删除数组末尾指定索引后的所有元素并返回它们:

x = ["a", "b", "c", "d", "e", "f", "g"];
y = x.splice(3);
console.log(x); // ["a", "b", "c"]
console.log(y); // ["d", "e", "f", "g"]

答案 2 :(得分:4)

使用slice

var bigOne = [0,1,2,3,4,5,6];
var splittedOne = bigOne.slice(3 /*your Index*/);

答案 3 :(得分:0)

你也可以使用下划线/ lodash包装器:

var ar = [1,2,3,4,5,6];
var p1 = _.first(ar, 4);
var p2 = _.rest(ar, 4);

答案 4 :(得分:0)

lodash中的一个简单函数: const mainArr = [1,2,3,4,5,6,7] const [arr1, arr2] = _.chunk(mainArr, _.round(mainArr.length / 2));

答案 5 :(得分:0)

我建议使用如下所示的slice()

ar.slice(startIndex,length); 要么 ar.slice(startIndex);

var ar = ["a","b","c","d","e","f","g"];

var p1 = ar.slice(0,3);
var p2 = ar.slice(3);

console.log(p1);
console.log(p2);