class Coder {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const coders = [
new Coder('A', 29, true, 45),
new Coder('B', 28, false, 80),
new Coder('C', 30, true, 90),
new Coder('D', 40, false, 66),
new Coder('E', 18, true, 88),
]
filter
enrolled가 true인 코더만 골라 새로운 배열을 만들어보자.
const result = coders.filter((coder) => coder.enrolled);
console.log(result);
// [object Array] (3)
// [
// {
// "name": "A",
// "age": 29,
// "enrolled": true,
// "score": 45
// },// [object Object]
// {
// "name": "C",
// "age": 30,
// "enrolled": true,
// "score": 90
// },// [object Object]
// {
// "name": "E",
// "age": 18,
// "enrolled": true,
// "score": 88
// }]
map
배열 안에 있는 요소들을 원하는 함수를 사용해 다른 방식의 데이터를 만들 수 있다.
score만 골라 새로운 배열을 만들어보자.
const result = coders.map((Coder) => Coder.score);
// [object Array] (5)
// [45,80,90,66,88]
score에 2배를 곱한 새로운 배열을 만들어보자.
const result = coders.map((Coder) => Coder.score * 2);
// [object Array] (5)
// [90,160,180,132,176]
some
배열 안에 있는 요소들 중 하나라도 조건을 만족하면 true가 뜬다.
const result = coders.some((Coder) => Coder.score < 50);
// true
every
배열 안에 있는 요소들이 전부 조건을 만족하면 true가 뜬다.
const result = coders.every((Coder) => Coder.score < 50);
// false
앞에 !를 붙이면 반대로 출력할 수 있다.
const result = !coders.every((Coder) => Coder.score < 50);
// true
출처 : 드림코딩 https://www.youtube.com/@dream-coding / MDN https://developer.mozilla.org/ko
'🟨 JavaScript > 개념' 카테고리의 다른 글
| [드림코딩] JSON이란? (0) | 2022.06.29 |
|---|---|
| [드림코딩] 유용한 배열(array) api (3) : reduce, reduceRight, sort, api 다중으로 쓰기 (0) | 2022.06.15 |
| [드림코딩] 유용한 배열(array) api (1) : join, split, reverse, slice, find (0) | 2022.06.07 |
| [mdn, 드림코딩 외] 배열(array) (4) : 검색 (indexOf,lastIndexOf,includes) (0) | 2022.06.02 |
| [mdn, 드림코딩 외] 배열(array) (3) : 원하는 순서부터 추가/삭제, 합치기 (splice,concat) (0) | 2022.06.02 |