Как рассчитать ИНДИВИДУАЛЬНЫЕ ИТОГИ СТУДЕНТА, используя карту, уменьшить и отфильтровать функции СТРЕЛКА в javascript? - PullRequest
0 голосов
/ 20 марта 2020

ЭТО ДАННЫЕ

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

Как рассчитать индивидуальные итоговые оценки для каждого учащегося, используя функции стрелок, такие как MAP, REDUCE и FILTER в Javascript?

1 Ответ

0 голосов
/ 20 марта 2020

Вы делаете что-то подобное, используя 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));
...