javascript - 如何使用 javascript 中的 map、reduce 和 filter ARROW 函数计算个别学生的总分?
问题描述
这是数据
const mystudents = [
{id : 1 , name : 'A' , year : 'TE' , marks : [12,15,48]},<BR>
{id : 2 , name : 'B' , year : 'SE' , marks : [12,25,16]},<BR>
{id : 3 , name : 'C' , year : 'TE' , marks : [10,25,16]},<BR>
{id : 4 , name : 'D' , year : 'BE' , marks : [10,20,15]},<BR>
{id : 5 , name : 'E' , year : 'BE' , marks : [10,22,30]},<BR>
{id : 6 , name : 'F' , year : 'FE' , marks : [10,8,30]},<BR>
{id : 7 , name : 'G' , year : 'FE' , marks : [1,20,30]},<BR>
{id : 8 , name : 'H' , year : 'TE' , marks : [17,30,30]},<BR>
{id : 9 , name : 'I' , year : 'SE' , marks : [10,2,30]},<BR>
{id : 10 , name : 'J' , year : 'TE' , marks : [09,20,30]},<BR>
]
想法:
A:12 + 15 + 48 = 75
E:10 + 22 + 30 = 62
如何使用JavaScript 中的MAP、REDUCE 和 FILTER 等箭头函数计算每个学生的个人总分?
解决方案
您使用Array.protoype.map和Array.prototype.reduce执行类似的操作
const result = data => {
return data.map(item => {
return {
name: item.name,
value: item.marks.reduce((a,b) => a+b, 0)
}
});
};
const mystudents =
[
{id : 1 , name : 'A' , year : 'TE' , marks : [12,15,48]},
{id : 2 , name : 'B' , year : 'SE' , marks : [12,25,16]},
{id : 3 , name : 'C' , year : 'TE' , marks : [10,25,16]},
{id : 4 , name : 'D' , year : 'BE' , marks : [10,20,15]},
{id : 5 , name : 'E' , year : 'BE' , marks : [10,22,30]},
{id : 6 , name : 'F' , year : 'FE' , marks : [10,8,30]},
{id : 7 , name : 'G' , year : 'FE' , marks : [1,20,30]},
{id : 8 , name : 'H' , year : 'TE' , marks : [17,30,30]},
{id : 9 , name : 'I' , year : 'SE' , marks : [10,2,30]},
{id : 10 , name : 'J' , year : 'TE' , marks : [09,20,30]},
];
console.log(result(mystudents));
推荐阅读
- javascript - 在 React 中访问 chart.js 组件实例
- reactjs - 安装代码输入插件后无法在 Sanity CMS 中添加代码块
- python - ID 在我的 sqlite3 数据库中没有自动递增
- python - pip install pyarrow 在 Linux ppc64le 上失败
- reactjs - 居中 React Bootstrap 行
- android - 如何在 Dart(Flutter) 中将 csv 格式转换为 UTF-8
- python - python中法语单词的复数到单数
- apache-spark - 如何在 impala 中捕获丢失的记录
- ruby - 如果 fluentd 中的正则表达式模式不匹配,则打印一个完整的行
- r - VarSelLCM 返回错误,但输入变量似乎是因子和整数