[JavaScript] JS_문제(고차함수)

jungeundelilahLEE·2020년 10월 19일
0

JS_문제

목록 보기
11/11

31번

// 요구사항 
// 1. male정보는 제외하기
// 2. grades 속성값은 평균값으로 바꾸기

let students = [
  {
    name: 'Anna',
    gender: 'female',
    grades: [4.5, 3.5, 4],
  },
  {
    name: 'Dennis',
    gender: 'male',
    country: 'Germany',
    grades: [5, 1.5, 4],
  },
  {
    name: 'Martha',
    gender: 'female',
    grades: [5, 4, 4, 3],
  },
  {
    name: 'Brock',
    gender: 'male',
    grades: [4, 3, 2],
  },
];

function studentReports (students) {

  // 먼저, filter를 통해서 female만 남기기
  let woman = students.filter ( function (key) {
    return key.gender === "female";  
  })
  console.log(woman)
  // [[object Object] {
  //	gender: "female",
  //	grades: [4.5, 3.5, 4],
  //	name: "Anna"
  // }, [object Object] {
  //	gender: "female",
  //	grades: [5, 4, 4, 3],
  //	name: "Martha"
  // }]
  
  return woman.map (function (el) {
    let sum = el.grades.reduce ( function (acc, val) {
      return acc + val
      console.log(sum) 		//5
    },0)
  
  let average = sum/el.grades.length;
    console.log(average)	//5
    
  el.grades = average;
    console.log(average) 	//4    
  
  return el
    console.log(el) 		//4
 
}
                    
studentReports(students)


profile
delilah's journey

0개의 댓글