I have an array of objects sample below:
const countriesSample = [{
name: "Yemen",
capital: "Sana'a",
languages: ["Arabic"],
{
name: "Zambia",
capital: "Lusaka",
languages: ["English"],
},
{
name: "Zimbabwe",
capital: "Harare",
languages: ["Shona", "English", "Northern Ndebele"],
},
];
I'd like to iterate through languages property and return the number of occurrence of each language value like below:
[
{ language: "English", count: 2 },
{ language: "Arabic", count: 1 },
{ language: "Shona", count: 1 },
{ language: "Northern Ndebele", count: 1 }
];
let totalOccurence = 0;
for (let i = 0; i < countries.length; i++) {
for (let j = 0; j < countries[i].length; j++) {
totalOccurence += countries[j].length;
console.log(`language: ${countries[j].languages}, count:${totalOccurence} `);
}
}
Is there any other method that I can achieve the expected result without using loops?