728x90
반응형
// Q1. make a string out of an array
const fruits = ['apple', 'banana', 'orange'];
const result = fruits.join(', ');
console.log(result);
// Q2. make an array out of a string
const fruits = 'apple, banana, cherry';
const result = fruits.split(',');
console.log(result);
// Q3. make this array look like this: [5, 4, 3, 2, 1]
const array = [1, 2, 3, 4, 5];
const result = array.resverse();
console.log(result);
// Q4. make new array without the first two elements
// slice는 기존 배열 변형안시키고 새로운 배열 만듬, splice는 기존 배열 변형시키고 필요한것 빼옴
const array = [1, 2, 3, 4, 5];
const result = array.slice(2, 5);
console.log(result);
console.log(array);
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
const result = students.find(function(student, index) {
return student.score === 90;
})
// arrow function 일때 한 문장이면 {}생략 가능, return 생략 가능
const result = students.find(() => 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 contatining only the student's 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 then 50
// some 배열의 요소중에서 하나라도 callback의 트루가 있는지 없는지 확인할때, 배열중에 어떤 것이라도 하나 만족되는것이 있을 때
const result = students.some((student) => student.score < 50);
console.log(result);
// every는 모든 요소가 callback의 트루가 되어야 트루가 나온다. 모든 배열의 조건이 만족되어야 할 때
const result = !students.every((student) => student.score >= 50);
console.log(result);
// Q9. compute students average score
// reduce callback에서 리턴되는 값은 누적되는 값을 전달, initial , 배열의 모든 값들을 누적할 때 사용
const result = students.reduce((prev, curr) => {
console.log(prev);
console.log(curr);
return prev + curr.score; 리턴하는 값들이 prev로 전달되어 누적
}, 0)
이니셜 값을 주면 prev가 이니셜 값 부터
console.log(result);
// students.reduceRight reduce와 같은데 배열의 반대서부터 시작
const result = students.reduceRight((prev, curr) => {
console.log(prev);
console.log(curr);
return prev + curr.score; 리턴하는 값들이 prev로 전달되어 누적
}, 0)
console.log(result);
const result = students.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)
.filter(score => score >= 50)
.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);
https://www.youtube.com/watch?v=3CUjtKJ7PJg
728x90
반응형
'typescript' 카테고리의 다른 글
자바스크립트 13. 비동기의 꽃 JavaScript async 와 await 그리고 유용한 Promise APIs (0) | 2020.07.07 |
---|---|
자바스크립트 11. 비동기 처리의 시작 콜백 이해하기, 콜백 지옥 체험 😱 JavaScript Callback (0) | 2020.07.02 |
UglifyJs [자바스크립트] 압축(Minify) / 난독화(Uglify) (0) | 2020.06.23 |
자바스크립트 8. 배열 제대로 알고 쓰자. 자바스크립트 배열 개념과 APIs 총정리 (0) | 2020.06.22 |
Typescript - class (0) | 2020.06.19 |
댓글