假设我有一个 Object 数组。
代码:
var arrayMap = [{continent: "Asia", Country: "China"},
{continent:"NAmerica", Country: "USA"},
{continent:"Asia", Country:"India"},
{continent:"Australia", Country:"Australia"},
{continent:"Asia", Country:"Japan"},
{continent:"Europe", Country:"UK"},
{continent:"SAmerica", Country:"Brazil"},
{continent:"Europe", Country:"Germany"},
{continent:"Asia", Country:"Rassia"},
{continent:"NAmerica", Country:"Canada"}]
现在我在 Obj 的 arrayMap 中有两个属性 Continental 和 Country。我想要统计各大洲的国家数量。 像:
Obj{Asia: 4, NAmerica:2, Australia:1, Europe:2, SAmerica:1}
任何人都可以帮助我如何得到这个。
最佳答案
您可以使用reduce方法来获取reduce方法的count.Doc。 Reduce
reduce() 方法用于将数组元素减少为单个值。
代码示例:
var arrayMap = [{continent: "Asia", Country: "China"},{continent:"NAmerica", Country: "USA"},{continent:"Asia", Country:"India"},{continent:"Australia", Country:"Australia"},{continent:"Asia", Country:"Japan"},{continent:"Europe", Country:"UK"},{continent:"SAmerica", Country:"Brazil"},{continent:"Europe", Country:"Germany"},{continent:"Asia", Country:"Rassia"},{continent:"NAmerica", Country:"Canada"}];
var answer = arrayMap.reduce(function(continent,Country){
return continent[Country.continent] = (continent[Country.continent] || 0) + 1, continent }, {});
console.log(answer);
关于javascript - 如何获取对象数组中某些特定属性的重复值的计数并将其存储在对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43119111/