El propósito de este artículo es mover algunos elementos específicos al final de una array usando JavaScript .
Dada una array de longitud, digamos N, mueva una cantidad específica de elementos, digamos X, al final de la array dada.
Aporte:
arr = [1, 2, 3, 4, 5] X = 2
Salida: la siguiente array debe ser la salida ya que los primeros dos números se mueven al final de la array.
[3, 4, 5, 1, 2]
Enfoque 1:
- Primero, extraeremos los primeros X elementos de la array en una nueva array arr1 .
- Luego extraiga los últimos elementos (NX) de la array en una nueva array arr2 .
- Luego concatene arr1 después de arr2 para obtener la array resultante.
Código JavaScript:
Javascript
function moveElementsToEndOfArray(arr, x) { // arr is the input array // x is the no. of elements that // needs to be moved to end of // the array let n = arr.length; // if x is greater than length // of the array x = x % n; let first_x_elements = arr.slice(0, x); let remaining_elements = arr.slice(x, n); // Destructuring to create the desired array arr = [...remaining_elements, ...first_x_elements]; console.log(arr); } let arr = [1, 2, 3, 4, 5, 6]; let k = 5; moveElementsToEndOfArray(arr, k);
Producción:
[ 6, 1, 2, 3, 4, 5 ]
Enfoque 2:
- Ejecute un ciclo for desde el índice i = 0 hasta X-1
- En cada iteración, tome el elemento en el índice actual y agréguelo al final de la array.
- Una vez completada la iteración, use el método JavaScript splice() para eliminar los primeros elementos X de la array para obtener la array resultante.
Código JavaScript:
Javascript
function moveElementsToEndOfArray(arr, x) { // Array is [1, 2, 3, 4, 5] and x = 2 // final output would be [3, 4, 5, 1, 2] x = x % (arr.length); for (let i = 0; i < x; i++) { arr.push(arr[i]); } // After this loop array will // be [1, 2, 3, 4, 5, 1, 2] arr.splice(0, x); // Splice method will remove first // x = 2 elements from the array // so array will be [3, 4, 5, 1, 2] console.log(arr); } let arr = [1, 2, 3, 4, 5]; let k = 2; moveElementsToEndOfArray(arr, k);
Producción:
[ 3, 4, 5, 1, 2 ]