Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
Mueva el elemento a la primera posición en la matriz pero mantenga el orden

Estoy un poco atascado con este problema. Estoy tratando de escribir una función que tome un índice y mueva el elemento con ese índice en una matriz a la primera posición mientras mantiene el orden subsiguiente de los otros elementos.

 const unorderedArr = [item1, item2, item3, item4] const reorderArr = (i, arr) => { ... } const reorderedArr = reorderArr(2, unorderedArr) // [item3, item4, item1, item2]

¡Feliz por cualquier sugerencia!

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Podría usar un intercambio con el elemento anterior hasta que el índice sea cero.

 const reorderArr = (array, i) => { while (i) { [array[i], array[i - 1]] = [array[i - 1], array[i]]; i--; } return array; }; console.log(...reorderArr(['item1', 'item2', 'item3', 'item4'], 2));

about 4 years ago · Juan Pablo Isaza Denunciar

0

El método slice(i) devolverá una matriz después del índice (incluido), y slice(0, i) devolverá una matriz desde el comienzo de la matriz hasta el índice (excluido). Entonces el resultado será: ["item3","item4","item1","item2"]

 const unorderedArr = ['item1', 'item2', 'item3', 'item4'] const reorderArr = (i, arr) => { return [...arr.slice(i), ...arr.slice(0,i)]; } const reorderedArr = reorderArr(2, unorderedArr); console.log(reorderedArr)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Simplemente puedes hacer así

 const unorderedArr = ["item1", "item2", "item3", "item4"]; const reorderArr = (i, arr) => { const movingElement = arr[i]; // get the element at index i arr.splice(i, 1); // remove the element from index i next to one ( item 3) arr.unshift(movingElement); // add the element to the beginning of the array return arr; }; const reorderedArr = reorderArr(2, unorderedArr); console.log("reorderedArr", reorderedArr); // [ 'item3', 'item1', 'item2', 'item4' ]
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda