3. Higher-order funkcie v poliach II
Vysvetlíme si ďalšie higher-order funkcie v poliach - flat, flatMap, reduce a reduceRight. Budeme pracovať s JSON dokumentom countries.json, podľa úloh uvedených nižšie.
Úlohy:
- Vráťte pole všetkých jazykov, ktoré sa používajú Južnej Amerike bez duplicít, teda:
[ { iso639_1: 'es', iso639_2: 'spa', name: 'Spanish', nativeName: 'Español' }, { iso639_1: 'gn', iso639_2: 'grn', name: 'Guaraní', nativeName: "Avañe'ẽ" }, { iso639_1: 'ay', iso639_2: 'aym', name: 'Aymara', nativeName: 'aymar aru'}, ... ]
- Vráťte objekt, kde vlastnosti sú jazyky z Južnej Ameriky a ich hodnotami polia krajín z Južnej Ameriky, v
ktorých sa nimi hovorí, teda:
{ Spanish: ['Argentina', 'Bolivia (Plurinational State of)', 'Chile',...], Portuguese: [ 'Brazil' ], English: [ 'Falkland Islands (Malvinas)', 'Guyana',...], ... }
- Vráťte pole objektov s dvoma vlastnosťami, jazyk z Južnej Ameriky a krajiny z Južnej Ameriky, v ktorých sa
ním hovorí, teda:
[ { language: 'Spanish', countries: ['Argentina', 'Bolivia (Plurinational State of)', 'Chile',...]}, { language: 'Portuguese', countries: [ 'Brazil' ]}, { language: 'English', countries: [ 'Falkland Islands (Malvinas)', 'Guyana',...]}, ... ]