1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| const
arr1 = [{
nom: 'bernard',
user_img: 'http://'
},
{
nom: 'matthieu',
user_img: 'http://'
},
{
nom: 'sophie',
user_img: 'http://'
}
],
arr2 = [{
nom: 'matthieu',
note: 17
},
{
nom: 'sophie',
note: 14
},
{
nom: 'bernard',
note: 10
},
{
nom: 'matthieu',
note: 12
},
{
nom: 'sophie',
note: 17
},
{
nom: 'bernard',
note: 20
}
];
let
arrMoyen = [],
nb = 0;
arrMoyen = arrMoyen.concat(arr1);
for (const obj of arrMoyen) {
obj['moyenne'] = 0;
obj['nbNotes'] = 0;
}
// debug
console.table(arrMoyen);
for (const obj of arrMoyen) {
nb = 0;
for (const objInArr2 of arr2) {
if ( obj['nom'] === objInArr2['nom'] ){
obj['moyenne'] += objInArr2['note'];
obj['nbNotes'] = ++nb;
}
}
}
// debug
console.table(arrMoyen);
for (const obj of arrMoyen) {
obj['moyenne'] = Number(obj['moyenne'] / obj['nbNotes']).toFixed(2);
}
// debug
console.table(arrMoyen); |
Partager