WEB/JS

[JS] 배열 고차 함수

우와왕고기다 2023. 12. 26. 20:51

sort

 

배열의 요소를 정렬한다. 기본값 오름차순, 원본 배열 변경된다.

 

const fruits = ['Banana', 'Orange', 'Apple'];
fruits.sort();
console.log(fruits); // [Apple, Banana, Orange]
fruits.reverse();
console.log(fruits); // [Orange, Banana, Apple]

 

 

 

forEach

 

forEach(요소, 인덱스, 배열), for의 확장판

 

const numbers = [1,2,3,4,5];
const pows = [];

numbers.forEach((item) => pows.push(item ** 2));
console.log(pows);
numbers.forEach((item, index, arr) => {
    console.log(`${item} 은 ${arr}의 ${index}번째 요소이다.`);
});

 

 

 

map

 

호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백 함수를 반복 호출한다. 원본 배열을 변경되지 않고 새로운 배열을 반환한다.

 

 

const numbers = [1,2,3,4,5];

const roots = numbers.map((item) => {
    return Math.sqrt(item);
});
console.log(roots);

 

 

 

filter

 

자신을 호출한 배열의 모든 요소를 순회하면서 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환한다. 원본 배열을 변경되지 않는다.

 

 

const numbers = [1,2,3,4,5];

const odds = numbers.filter((item) => {
    return item % 2;
})
console.log(odds);

 

 

reduce

 

배열의 모든 요소를 순회하면서 누적된 값을 반환한다.

reduce(초기값(0), 현재값, 인덱스, 배)

 

 

const numbers = [1,2,3,4,5];
let result = numbers.reduce((cnt, item) =>{
    return cnt += item;
})
console.log(result); // 15