let leftSide = myArray.splice(0, Math.ceil(myArray.length/2));
//The right side is stored in "myArray"
Por ejemplo:
let letters = ['a', 'b', 'c', 'd', 'e'];
let leftSide = letters.splice(0, Math.ceil(letters.length /2));
let rightSide = letters;
console.log(leftSide);
=> ['a', 'b', 'c']
console.log(rightSide);
=> ['d', 'e']
Más información:splice
in the MDN docs
Tenga en cuenta que esto modifica su matriz original. Si desea conservar el conjunto original, clone el conjunto y luego utilice el empalme en el conjunto clonado. De una SO question acerca de las matrices de clonación:
Ha habido un hilo PUNTOS DE REFERENCIA huuuge, proporcionando siguiente información:
para navegadores de parpadeo slice() es el método más rápido, concat() es un poco más lento, y mientras que el bucle es 2.4 veces más lento.
para otros navegadores, mientras que el bucle es el método más rápido, ya que esos navegadores no tienen optimizaciones internas para slice y concat.
//Fastest for Blink browsers (Opera/Chromium):
let clonedArray = originalArray.slice();
//For other browsers:
let clonedArray = [];
var i = myArray.length;
while (i--) clonedArray[i] = myArray[i];
¿Cómo puede usted encontrar lo grande que desea que cada medio que sea? –
-1 porque puedes determinar eso solo por pensarlo. ¿Cuál será el punto intermedio - el argumento para 'empalmar' - cuando el tamaño de la matriz sea' N'? ¿Y cómo determinas 'N'? –
¿Qué pasa si hay un número impar? No hay 'Mitad' ... ¡solo digo! – Relic