简体   繁体   English

如何使用 map 计算个人学生总分,减少和过滤 javascript 中的 ARROW 函数?

[英]How to calculate INDIVIDUAL STUDENT TOTAL MARKS using map,reduce and filter ARROW functions in javascript?

THIS IS THE DATA这是数据

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>
]

Idea:主意:
A: 12 + 15 + 48 = 75答:12 + 15 + 48 = 75
E: 10 + 22 + 30 = 62 E:10 + 22 + 30 = 62

How to calculate individual total marks for each student using arrow functions like MAP, REDUCE and FILTER in Javascript?如何使用 Javascript 中的MAP、REDUCE 和 FILTER 等箭头函数计算每个学生的个人总分?

 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));

You do something like this using Array.protoype.map and Array.prototype.reduce你使用Array.protoype.mapArray.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));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM