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. find a student with the score 90
>>find를 찾으면 거기서 반복문 바로 멈춤!
{
const result = student.find((student) => student.score === 90);
console.log(result);
}
// Q6. make an array of enrolled students
{
const result = students.filter((student) => student.enrolled);
console.log(result);
}
// Q7. make an array containing only the students' scores
// result should be: [45, 80, 90, 66, 88]
{
const result = students.map((student) => student.score);
console.log(result);
}
// Q8. check if there is a student with the score lower than 50
>>some은 조건에서 한명이라도 맞는 사람이 있다면 true 출력
every는 모두 조건이 맞아야함
{
const result = students.some((student) => student.score < 50);
consolee.log(result)
}
// Q9. compute students' average score
>> reduce 는 배열 하나하나를 돌면서 값을 누적하는 것
( ,0)은 0부터 시작해서 a b c d 차례로 누적됨
{
const result = student.reduce((prev, curr) => prev + curr.score, 0);
console.log(result / students.length);
}
// Q10. make a string containing all the scores
// result should be: '45, 80, 90, 66, 88'
{
const result = students.map((student) => student.score).join();
console.log(result);
}
// Bonus! do Q10 sorted in ascending order
// result should be: '45, 66, 80, 88, 90'
{
const result = students.map((student) => student.score)
.sort((a,b) => a-b)
.join()
console.log(result)
}
여기서 백준 문풀때 알 수 없던 문법을 익힐 수 있었다.
map의 경우 이해를 전혀 하지 못했었는데 배열이 map을 이욯해서 또 배열로 만들어주는 문법이었다.
흐엉 내일부터 당장 부트캠프 시작인뎅.. 이대로 시작해도 과연 잘 할 수 있을까...