Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function schoolGrades(params) {
- let students = new Map();
- for (let string of params) {
- let tokens = string.split(' ');
- let name = tokens[0];
- let grades = tokens.splice(1, tokens.length).map(Number);
- if (!students.has(name)) {
- students.set(name, []);
- students.get(name).push(...grades);
- }else{
- students.get(name).push(...grades);
- }
- }
- let sorted = [...students].sort((a, b) => average(a, b));
- for (let [name,grades] of sorted) {
- console.log(`${name}: ${grades.join(', ')}`);
- }
- function average (a, b){
- let aSum = 0;
- for (let i = 0; i < a[1].length; i++) {
- aSum +=a[1][i];
- }
- let bSum = 0;
- for (let i = 0; i < b[1].length; i++) {
- bSum += b[1][i];
- }
- let aAverage = aSum / a[1].length;
- let bAverage = bSum / b[1].length;
- return aAverage - bAverage;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment