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

353
Vistas
¿Por qué la función de empalme elimina elementos desde el principio, no desde el final aquí? (Javascript)

Estoy tratando de escribir una función en Javascript que acepte una matriz anidada y un número como dos argumentos y devuelva una nueva matriz anidada con los últimos dos elementos eliminados en cada matriz interna como lo indica el argumento numérico.

Por ejemplo:

 */ removeColumns([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 2); => [[1, 2], [1, 2], [1, 2], [1, 2]] */

Adjunto el código que he escrito hasta ahora. Esto me da un retorno de [[3, 4], [3, 4]. Pensé que la función de empalme siempre elimina los elementos de la matriz después del índice proporcionado, pero aquí parece estar eliminando elementos antes del índice. ¿Qué estoy haciendo mal aquí?

 const removeColumns = (originalGrid, numColumns) => { for (let i = 0; i < originalGrid.length; i++) { console.log(originalGrid[i].splice(originalGrid.length - numColumns, numColumns)) console.log(originalGrid[i]) } return originalGrid } let originalGrid = [ [1, 2, 3, 4], [1, 2, 3, 4] ]; console.log(removeColumns(originalGrid, 2))
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Creo que eso debería solucionar tu problema:

 originalGrid[i].length - numColumns, numColumns)

en tu ejemplo

 let originalGrid = [ [1, 2, 3, 4], [1, 2, 3, 4] ];
 console.log(originalGrid.length) //2 console.log(originalGrid[0].length) //4 console.log(originalGrid[1].length) //4

Entonces, en el ciclo, no olvides agregar el índice:

 console.log(originalGrid[i].splice(originalGrid[i].length - numColumns, numColumns))
about 4 years ago · Juan Pablo Isaza Denunciar

0

Escribe una función de filtro. Luego, puede elegir qué columna "sección" incluir.

 const originalGrid = [ [1, 2, 3, 4], [1, 2, 3, 4] ]; const filter = (data, from, to) => data.map(a => a.splice(from, to)); console.log(filter(originalGrid, 0, 2));
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