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

107
Vistas
Necesito una buena manera de clasificar los nombres de los archivos en cada categoría de una matriz en javascript, pero cuando no tengo una coincidencia en un grupo general

Básicamente, tengo dos matrices, una es los tipos de archivos y la otra son los nombres reales de los archivos, por lo tanto, necesito verificar cada uno de los nombres de los archivos y buscar una cadena específica, para luego agruparlos, pero tiene algunos reglas, como, el grupo debe tener el nombre de orden ASC y el general debe tener los que no coinciden con un tipo y los que tienen el tipo en él, para los archivos de las nuevas versiones. (Necesito hacer esto con Javascript puro) Ejemplos:

 types: ["general","picture","document","annotation"] files: [ {name:"-t_picture_t-my_vacation.jpg"}, {name:"-t_document_t-my_curriculum.pdf"}, {name:"my_favorite_music.mp3"}, {name:"my_dance_video.mp4"}, {name:"-t_annotation_t-dont_forget.txt"}, ]

Los resultados esperados son algo como:

 [ {name:"my_dance_video.mp4"}, {name:"my_favorite_music.mp3"}, {name:"-t_picture_t-my_vacation.jpg"}, {name:"-t_document_t-my_curriculum.pdf"}, {name:"-t_annotation_t-dont_forget.txt"}, ]

Cualquier pregunta sobre, solo envíe un mensaje.

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

0

Bueno... un algoritmo simple será algo como esto

 const types = ["picture","document","annotation", "general"] const files = [ {name:"-t_picture_t-my_vacation.jpg"}, {name:"-t_document_t-my_curriculum.pdf"}, {name:"my_favorite_music.mp3"}, {name:"my_dance_video.mp4"}, {name:"-t_annotation_t-dont_forget.txt"}, ] const result = [] const matches = {} for (const file of files) { for (const type of types) { if (file.name.includes(type)) { result.push(file) matches[file.name] = true } else if (type == 'general' && !matches[file.name]) { result.unshift(file) } } } console.log(result)

La desventaja es que debemos esperar con la categoría general hasta el final porque solo cuando completamos la clasificación podemos agregar el resto de elementos sin duplicación.

Espero que te ayude a poner en marcha tu solución. Disfruta 😎

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