[{ country: "US", languages: [ "en" ] }, { country: "BE", languages: [ "nl", "fr", "de" ] }, { country: "NL", languages: [ "nl", "fy" ] }, { country: "DE", languages: [ "de" ] }, { country: "ES", languages: [ "es" ] } ]dado el objeto anterior, enumerando algunos objetos de países, ¿cómo puedo encontrar los idiomas oficiales más comunes de todos los países que usan javascript?
Utilice una estructura de datos que sea adecuada para las búsquedas, es decir, un Map o simplemente un objeto JavaScript simple (búsqueda en O(1) ) y almacene todos los idiomas y un recuento de sus ocurrencias allí.
Después de hacer eso, ordene las ocurrencias y seleccione el primer elemento (al ordenar en orden descendente) y tendrá el elemento con la mayor cantidad de ocurrencias.
Aquí una implementación usando Map .
const data = [{ country: "US", languages: [ "en" ] }, { country: "BE", languages: [ "nl", "fr", "de" ] }, { country: "NL", languages: [ "nl", "fy" ] }, { country: "DE", languages: [ "de" ] }, { country: "ES", languages: [ "es" ] } ] const countLanguages = new Map(); data.forEach(country => { country.languages.forEach(lang => { if(!countLanguages.has(lang)){ countLanguages.set(lang, 1); } else countLanguages.set(lang, countLanguages.get(lang) + 1); }) }) const sorted = [...countLanguages.entries()].sort(); console.log("Most occurrences:", sorted[0])