【问题标题】:How to get total star number by classifications with javascript? [duplicate]如何使用javascript通过分类获得总星数? [复制]
【发布时间】:2022-01-16 09:42:36
【问题描述】:

我没有找到任何解决方案。

假设,这里是一个数组

[
  {name: "one", rating: 2}
  {name: "anything", rating: 1}
  {name: "two", rating: 4}
  {name: "red", rating: 2}
  {name: "helpme", rating: 2}
  {name: "jiue", rating: 4}
  {name: "one", rating: 1}
  {name: "one", rating: 2}
]

在这里,我必须找到评分 1、2、3、4、5 的总数

在数组中-

我们可以看到

oneStar = 2 times
twoStar = 4 times
threeStar = 0 Times 
fourStar = 2 times
fiveStar = 0 times

我必须使用 javascript 来返回它-

oneStar = 2
twoStar = 4
threeStar = 0
fourStar = 2
fiveStar = 0

【问题讨论】:

标签: javascript


【解决方案1】:

您可以使用Array#reduce 和一个数组来存储每个评分的频率。

let arr = [
  {name: "one", rating: 2},
  {name: "anything", rating: 1},
  {name: "two", rating: 4},
  {name: "red", rating: 2},
  {name: "helpme", rating: 2},
  {name: "jiue", rating: 4},
  {name: "one", rating: 1},
  {name: "one", rating: 2}
];
let ratingFreq = arr.reduce((acc, curr)=>(++acc[curr.rating - 1], acc), 
                    Array(5).fill(0));
console.log(ratingFreq);

【讨论】:

  • 你可以找到这么多重复的
猜你喜欢
  • 2020-01-20
  • 1970-01-01
  • 1970-01-01
  • 2016-03-16
  • 2023-03-16
  • 2022-01-23
  • 2019-03-05
  • 2010-11-07
相关资源
最近更新 更多