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

104
Vistas
Divida la matriz en un fragmento y luego elimine el fragmento de la matriz original

Este es el tipo de datos que tengo:

 ["2", "Something1", "Something2", "4", "Something3", "Something4", "Something5", "Something6", "2", "Something7", "Something8"]

El número indica qué tan grande debe ser el trozo.

 const splitInput = (input: string[]) => { const chunks: string[][] = []; input.forEach((element) => { if (element.length === 1) { const chunk = input.splice(input.indexOf(element) + 1, parseInt(element)); console.log(chunk); chunks.push(chunk) } });

El código anterior funciona solo hasta que no hay los mismos números, ya que indexOf encuentra la primera aparición. ¿Cómo puedo calcular fromIndex de indexOf() correctamente o eliminar todos los elementos eliminados de la matriz (incluidos los números)?

Esta sería la salida esperada

 [ ["Something1", "Something2"], ["Something3","Something4","Something5","Something6"],["Something7", "Something8"] ]

Antes de que alguien pregunte, sí, esto es una parte (no todo, esto es solo un comienzo, tendré que hacer algo con los trozos) de mi tarea. He estado probando todo durante las últimas 2 horas y no pude resolverlo.

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

0

No sé cómo arreglar su enfoque, pero otro enfoque es iterar sobre los tamaños de los fragmentos y llenar otra matriz con los fragmentos:

 function splitInput(elements) { const result = []; for (let i = 0, end = elements.length; i < end; i += 1 + +elements[i]) { result.push(elements.slice(i + 1, i + 1 + +elements[i])); } return result; } const elements = ["2", "Something1", "Something2", "4", "Something3", "Something4", "Something5", "Something6", "2", "Something7", "Something8"]; console.log(splitInput(elements));

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