¿Cómo mover un número específico de elementos al final de una array en JavaScript?

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 ]

Publicación traducida automáticamente

Artículo escrito por JoyDas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *