web-dev-qa-db-fra.com

diviser un tableau en deux en fonction d'un index en javascript

J'ai un tableau avec une liste d'objets. Je veux diviser ce tableau à un index particulier, disons 4 (ceci est une variable) Je veux stocker la deuxième partie du tableau divisé dans un autre tableau. Cela pourrait être simple, mais je suis incapable de penser à un moyen agréable de le faire.

28
user811433

Utilisez slice , en tant que tel:

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

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

Vous pouvez utiliser Array@splice pour couper tous les éléments après un index spécifié à la fin du tableau et les renvoyer:

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

utilisez slice :

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

Vous pouvez également utiliser des caractères de soulignement/lodash:

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

Je recommanderais d'utiliser slice () comme ci-dessous 

ar.slice(startIndex,length); Ou 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);

0
Must Keem J

Simple une fonction de lodash: const mainArr = [1,2,3,4,5,6,7] const [arr1, arr2] = _.chunk(mainArr, _.round(mainArr.length / 2));

0
Michał Wojas