这是数据
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 = 75E:10 + 22 + 30 = 62
如何使用Java语言中的箭头功能,如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));
使用.map()
迭代输入数组,并使用.reduce()计算数组的总和。