filter, map, reduce, every, some,

.·2022년 6월 26일
0

blog

목록 보기
11/52

[1] filter

*필터는 배열의 요소에서 조건을 만족하는 요소들을 배열로 반환해주는 메소드이다.

*조건이 참인 요소들만 배열로 구성되어 반환된다.

*원본 배열이 손상되지는 않는다.

조건이 1줄인 경우

const array = [1,2,3,4,5,6,7,8,9,10];

const array1 =  array.filter((i)=>( i > 5 ));

console.log(array1) // [6,7,8,9,10]

조건이 2줄인 경우

const array = [1,2,3,4,5,6,7,8,9,10];

const array1 = array.filter((i)=>{
	const a = i * 2;
    return a < 10;
});

console.log(array1) // [1,2,3,4]

[2] map

*배열의 요소들을 1개씩 뽑아서 작업을 처리하고 원하는 요소로 반환을 해서 새로운 배열을 만드는 방법이다.

*자바스크립트에서 매우 자주 사용하는 메소드이다.

*원본 배열은 손상되지 않는다.

조건이 1줄인 경우

const array = [1,2,3,4,5,6,7,8,9,10];
const array1 = array.map((i,index) => (
	i * 2
))
console.log(array1) // [2,4,6,8 ... 20];

조건이 2줄인 경우

const array = [1,2,3,4,5,6,7,8,9,10];
array.map((i,index) => {
	i = i+3
    return i 
})
console.log(array1) // [4,5,6,7,8 ... 13];

응용 map + filter

const array = [1,2,3,4,5,6,7,8,9,10];
const array1 = array.filter((i)=> i % 2 === 0).map((i,index) => {
	i = i*2
    return i 
})
console.log(array1) // [4,8,12,16,20];

[3] reduce

*배열에서 합계를 구할때 자주 사용하는 메소드이다. reduce또한 map과 같이 자바스크립트에서 자주 사용되는 메소드이다.

*반환값으로 합계값을 반환한다.

*acc는 반환할 합계 변수이고, cur은 현재 요소, index는 배열에서 요소가 위치한 인덱스이다.

*reduce는 초깃값을 지정해주지 않게 되면 배열의 첫번째 요소를 초깃값을 가지고 있는 특성이 존재한다.

조건이 1줄인 경우

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

// (acc+cur) 은 acc = (acc+cur)과 같다, (),0 에서 뒤에 0이 초깂값이다.
const sum = array.reduce((acc,cur,index) => (acc+cur),0);

console.log(sum) // 15

조건이 2줄인 경우

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

// 초깃값은 1이고 2번째 요소인 2부터 시작한다.
const sum = array.reduce((acc,cur,index) => {
	cur = cur * 2;
    return acc + cur
});

console.log(sum) // 1 + 2*2 + 3*2 + 4*2 + 5*2 = 1+4+6+8+10 = 29

[4] every

*map,filter,reduce보다는 덜 사용되지만 유용한 메소드이다.

*단 1개라도 false이면 false이고 전부 true여야 true이다

배열.every(함수)
배열.every((i)=>i==="a")

배열.every({return })
배열.every((i)=>{
    i = i + 3;
    return i % 2 === 0;
})
const array = [1,2,3,4,5];

console.log(array.every((i)=>i<5)); // false
console.log(array.every((i)=>i<6)); // true

[5] some

*map,filter,reduce보다는 덜 사용되지만 유용한 메소드이다.

*단 1개라도 true라면 true이고 전부 false여야 false이다

배열.some(함수)
배열.some((i)=>i==="a")

배열.some({return })
배열.some((i)=>{
    i = i + 3;
    return i % 2 === 0;
})
const array = [1,2,3,4,5];

console.log(array.some((i)=>i<2)); // true
console.log(array.some((i)=>i<5)); // true

0개의 댓글