¿Cómo haría para dividir una matriz en la palabra 'dividir' y crear sub-matrices más pequeñas a partir de ellos?
Así es como se ve mi matriz en este momento (pero mucho más tiempo):
const myArray = ['abc', 'xyz', 123, 'split', 'efg', 'hij', 456, 'split'];Así es como me gustaría que se viera:
const newArray =[['abc', 'xyz', 123], ['efg', 'hij', 456]];Si ayuda, también tengo los índices de las palabras 'dividir' en una matriz como esta:
const splitIndex = [3, 7];Puede iterar splitIndex y dividir la matriz hasta este índice.
const data = ['abc', 'xyz', 123, 'split', 'efg', 'hij', 456, 'split'], splitIndex = [3, 7], result = []; let i = 0; for (const j of splitIndex) { result.push(data.slice(i, j)); i = j + 1; } console.log(result);const myArr = ['abc', 'xyz', 123, 'split', 'efg', 'hij', 456, 'split']; const foo = (arr, key) => { let temp = []; const result = []; arr.forEach(v => { if (v !== key) { temp.push(v); } else { result.push(temp); temp = []; } }) return result; } console.log(foo(myArr, 'split'));producción:
[ [ 'abc', 'xyz', 123 ], [ 'efg', 'hij', 456 ] ]