2.1 자바스크립트 유용한 Array APIs
1) map ( )
배열 내의 모든 요소에 대해 주어진 함수를 호출한 결과를 모아서 새로운 배열을 반환
const numbers = [1, 2, 3, 4, 5, 6, 7];
const result = numbers.map((number) => number * 2);
console.log(result); // [2, 4, 6, 8, 10, 12, 14]
2) some ( )
배열 안의 한 요소라도 주어진 판별 함수를 통과하는지 테스트
const animals = ["강아지", "고양이", "토끼", "병아리", "호랑이", "말"];
const result = animals.some((animals) => animals === "강아지");
console.log(result); // true
3) every ( )
배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트
const animals = ["강아지", "고양이", "토끼", "병아리", "호랑이", "말"];
const result = animals.every((animals) => animals === "강아지");
console.log(result); // false
4) filter()
주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환
const numbers = [1, 2, 3, 4, 5, 6, 7];
const result = numbers.filter((number) => number % 2 === 0);
console.log(result); // [2, 4, 6]
5) reduce ( )
배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값 반환
리듀서 함수
리듀서 함수는 네 개의 매개변수를 가짐
- 누적 값 (acc)
- 현재 값 (cur)
- 현재 인덱스 (idex)
- 원본 배열 (src)
리듀서 함수의 반환 값은 누적 값에 할당되며, 최종 결과는 이 누적 값이 됨
// 모두 더한 값 구하기
const numbers = [1, 2, 3, 4, 5, 6, 7];
const result = numbers.reduce((acc, cur) => acc + cur);
console.log(result);
// 중복된 과일 제거하기
const fruits = ["사과", "딸기", "배", "참외", "딸기", "수박"];
const result = fruits.reduce((arr, cur) => {
if (arr.includes(cur) === false) {
arr.push(cur);
}
return arr;
}, []);
console.log(result);
728x90
'JavaScript' 카테고리의 다른 글
[JS] JS에서 함수(function)란? (0) | 2023.07.26 |
---|---|
[JS] Webpack 기초 (0) | 2023.01.20 |
[JavaScript] JavaScript의 모듈들 (0) | 2023.01.20 |
[JavaScript] IT 용어들 (API, 동기, 비동기, 프론트엔드, 백엔드) (0) | 2023.01.20 |
[JavaScript] JavaScript 입문 (0) | 2023.01.20 |