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