상추의 IT저장소
JS)Array.filter() Array.reduce() 본문
.filter()
filter 메소드는 주어진 함수의 조건을 통과하는 요소를 모아 새로운 배열로 반환한다.
filter 실습>> 문자열이 6보다 크거나 같은 값 반환
let words = ['banana', 'apple', 'watermelon', 'pear', 'cherry', 'strawberry'];
let result = words.filter(x => x.length >= 6);
console.log(result);
출력값 >>

filter 실습>> 7보다 작은 수 반환
let num = [1,2,3,4,5,6,7,8,9,10]
let result2 = num.filter(e => e <7);
console.log(result2);
출력값 >>

.reduce()
reduce 메소드는 각 요소에 대해 콜백 함수를 수행하고 하나의 결과값을 반환한다.
이때 명시된 콜백 함수에 배열의 첫 번째 요소와 두 번째 요소를 인수로 전달하고 실행한다.
반환된 결과값과 세번째 요소를 다시 인수로 전달하고 실행한다.
이러한 동작을 반복하여 모든 배열 요소를 인수로 전달하고 , 마지막으로 반환된 결과 값을 반환한다.
두번째 argument에 initialValue를 넣을 수 있다.
- initialValue를 설정한 경우 callback의 최초 호출시 initialValue로 값을 초기화한다.
- initialValue가 없을 경우 arr의 0번째 값으로 초기화한다.
실습 1> 배열 요소의 합계산
let arrA = [1, 2, 3, 4, 5];
let add = (a, b) => a + b;
console.log(arrA.reduce(add));
let arrB = [9, 2, 8, 5, 7];
let sum = arrB.reduce((pre, value) => {
return pre + value;
});
console.log(sum);
출력값 >>

실습 2> 정수 배열에서 5인 정수만 출력하기
let arrC = [10, 100, 3, 4, 50, 7];
let arrD = arrC.reduce((pre, value) => {
if (value % 5 === 0) {
pre.push(value);
}
return pre;
}, []);
console.log(arrD);
출력값 >>

실습3 > initialValue 추가
let arrE = [1, 3, 5, 7, 9];
let sum2 = arrE.reduce((a,b) => a + b , 10);
console.log(sum2);
출력값 >>

JavaScript 배열 메소드 - map(), filter(), find(), reduce()
.map > map메소드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다. arr.map(callback(currentValue[ ,index [, array]]) [,thisArg]) callback : 새로운 배열 요
velog.io
https://www.devkuma.com/docs/javascript/array-%EB%A9%94%EC%86%8C%EB%93%9C/
JavaScript 입문 | 표준 객체 | Array 메소드
Array.prototype 메소드 모든 Array 인스턴스는 Array.prototype으로부터 메소드와 프로퍼티를 상속받는다. 이렇게 상속받은 Array.prototype 메소드는 크게 다음과 같이 구분할 수 있다. 원본 배열을 변경하는
www.devkuma.com
'Javascript' 카테고리의 다른 글
| JS) node.js 개념 이해 (0) | 2022.11.21 |
|---|---|
| JS) Promise, async/await (0) | 2022.11.20 |
| JS) 자주쓰는 Math 메소드 (0) | 2022.11.18 |
| JS) Array.map() (0) | 2022.11.15 |
| JS) 전역객체와 래퍼객체 (0) | 2022.11.15 |