web-dev-qa-db-ja.com

javascriptのインデックスに基づいて配列を2つに分割します

オブジェクトのリストを持つ配列があります。この配列を特定の1つのインデックス、たとえば4で分割します(これは実際には変数です)。分割された配列の2番目の部分を別の配列に保存します。簡単かもしれませんが、私はこれを行うには良い方法を考えることができません。

30
user811433

slice を使用してください:

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

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

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"]
9
Mark Amery

スライス を使用:

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

以下のように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);
1
Asif J

アンダースコア/ロダッシュラッパーも使用できます。

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

Lodashからの単純な1つの関数:const mainArr = [1,2,3,4,5,6,7] const [arr1, arr2] = _.chunk(mainArr, _.round(mainArr.length / 2));

0
Michał Wojas