<예제>
```jsx
class Student {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const students = [
new Student("A", 29, true, 45),
new Student("B", 28, false, 80),
new Student("C", 30, true, 90),
new Student("D", 40, false, 66),
new Student("E", 18, true, 88),
];
```
Q5. 점수가 90점인 학생 찾기
- find() : 배열의 특정 조건을 충족하는 요소 찾기
```jsx
//방법1.
const result2 = students.find((Student) => Student.score === 90);
console.log(result2);
//방법2.
const result3 = students.find(function (student) {
return student.score === 90;
});
console.log(result3);
```

Q6. 등록한 학생만 출력하기
- filter() : 배열의 특정 조건을 기준으로 필터링하기
```jsx
//방법1.
const result4 = students.filter(function (student) {
return student.enrolled === true;
});
console.log(result4);
//방법2
const result = students.filter((Student) => Student.enrolled === true);
console.log(result);
```

Q7. 학생의 점수만 포함하는 배열 만들기: [45, 80, 90, 66, 88]
- map() : 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열 반환
```jsx
//방법1
const result = students.map((Student) => Student.score);
console.log(result);
//방법2
const result2 = students.map(function(student){
return student.score;
});
console.log(result2);
}
```

Q8. 50 점 미만의 학생이 있는지 확인하기
- some() : 배열 요소가 특정 조건을 만족하는지 확인하기 (↔️ 모든 배열의 조건이 만족해야 할때는 every 사용)
```jsx
//방법1
const result = students.some((Student) => Student.score < 50);
console.log(result);
//방법2
const result2 = students.some(function (student) {
return student.score < 50;
});
console.log(result2);
```

Q9. 학생들의 평균 점수 계산
- reduce() : 배열의 각 요소를 하나씩 꺼내 사용자의 함수를 적용시킨 뒤, 그 값을 계속해서 누적시키는 함수
```jsx
const result = students.reduce((prev, curr) => {
console.log("-----");
console.log(prev);
console.log(curr);
return prev + curr.score; //return값 필수
}, 0); // initial값을 지정해주면 0에서 부터 시작
console.log(result / students.length);
```

Q10. 모든 점수를 포함하는 문자열 만들기 : '45, 80, 90, 66, 88'
```jsx
const result = students.map((student) => student.score).join();
console.log(result);
```

Q+.낮은 점수대로 정렬한 후 문자열로 변환 : '45, 66, 80, 88, 90'
- sort() : 배열 정렬
```jsx
const result = students
.map((student) => student.score)
.sort((a, b) => a - b) // 오름차순 ( b - a는 내림차순)
.join();
console.log(result);
```

> 출처 : 드림코딩 by 엘리 https://youtu.be/3CUjtKJ7PJg