Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

110
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!