javascript - 按键计数数组对象的频率
问题描述
我有很多这样的学生:
var school =[
{
class: "ss1",
student: "J. Kent",
scores: "accurate"
},
{
class: "ss1",
student: "P. Ben",
scores: "accurate"
},
{
class: "ss3",
student: "T. Maddison",
scores: "error"
},
{
class: "jss1",
student: "R Briggs",
scores: "accurate"
},
{
class: "ss1",
student: "P. Roberts",
scores: "accurate"
},
{
class: "ss1",
student: "A. Minder",
scores: "error"
},
{
class: "ss1",
student: "C. Trust",
scores: "accurate"
},
]
我想计算属于某人的次数class: "ss1"
scores: "accurate"
。我四处寻找图书馆以使这变得容易,但无法找到。欢迎任何方法或更简单的方法。
解决方案
您可以使用array.filter()
const school = [
{
class: "ss1",
student: "J. Kent",
scores: "accurate",
},
{
class: "ss1",
student: "P. Ben",
scores: "accurate",
},
{
class: "ss3",
student: "T. Maddison",
scores: "error",
},
{
class: "jss1",
student: "R Briggs",
scores: "accurate",
},
{
class: "ss1",
student: "P. Roberts",
scores: "accurate",
},
{
class: "ss1",
student: "A. Minder",
scores: "error",
},
{
class: "ss1",
student: "C. Trust",
scores: "accurate",
},
];
const getResults = (group, score) => {
return school.filter((obj) => obj.class === group && obj.scores === score).length;
}
const result = getResults("ss1", "accurate");
console.log(result);
const school = [
{
class: "ss1",
student: "J. Kent",
scores: "accurate",
},
{
class: "ss1",
student: "P. Ben",
scores: "accurate",
},
{
class: "ss3",
student: "T. Maddison",
scores: "error",
},
{
class: "jss1",
student: "R Briggs",
scores: "accurate",
},
{
class: "ss1",
student: "P. Roberts",
scores: "accurate",
},
{
class: "ss1",
student: "A. Minder",
scores: "error",
},
{
class: "ss1",
student: "C. Trust",
scores: "accurate",
},
];
const getResults = (group, score) => {
return school.reduce((count, obj) => obj.class === group && obj.scores === score ? ++count : count, 0);
}
const result = getResults("ss1", "accurate");
console.log(result);
推荐阅读
- javascript - 使用画布显示的类似图像
- python - 找到每月不相等值的平均值并根据某些条件进行分配
- javascript - 如何创建音乐机器人
- sql - 在左连接中从外部表中选择单行
- javascript - 如何在粘性导航栏功能(onscroll)和 onclick 功能中嵌套 JS 媒体查询?
- c++ - boost::make_optional 类型说明
- azure - Azure rest api 相当于 az sql db show-connection-string -s myserver -n mydb -c ado.net
- javascript - 使用 Array.fill() 在没有引用的情况下在一行中声明 ES6 多个变量会导致问题
- mysql - 我无法使用 MySQL shell 连接 root@localhost
- r - 检查预测库中 NNETAR 函数的残差