티스토리 뷰

1. forEach

  • break, return 을 통해 중지시키지 못한다.
  • 배열 자체 내부 값을 변경하는것이다. (map 함수와의 차이점)
// dr 현재 배열의 값, idx 현재 배열의 인덱스 값  

[1,2,3,4,5].forEach((dr, idx)=>{
	console.log(dr,idx);
})

// 1 0
// 2 1
// 3 2
// 4 3
// 5 4

2. some

  • return true => break (이 경우 break되면서 true 반환), return false => continue 기능을 한다.
// dr 현재 배열의 값, idx 현재 배열의 인덱스 값  

[1,2,3,4,5].some((dr, idx)=>{
	if(dr==3){
    	return true
    }
	console.log(dr,idx);
})
// 1 0
// 2 1
< true

[1,2,3,4,5].some((dr, idx)=>{
	if(dr==3){
    	return false
    }
	console.log(dr,idx);
})
// 1 0
// 2 1
// 4 3
// 5 4
< false

3. every

  • 배열의 모든 원소가 조건에 맞는지 검사하는 메서드이다.
  • 모든 원소가 조건을 만족하면 true, 하나라도 만족하지 않으면 false를 반환한다.
[1,2,3,4,5].every((dr,idx)=> dr >= 3);
// false

[1,2,3,4,5].every((dr,idx)=> dr <= 10);
// true

4. map

  • 기존의 값을 다시 정의하거나 새로운 형태로 정의
  • 변경된 값의 배열로 리턴 (forEach 함수와의 차이점)
let numbers = [1,2,3,4,5]
let mulNumbers = numbers.map((dr,idx,origin)=>{
	//dr:요소값, idx:인덱스값, origin:순회하는 대상
	return dr*2;
});
console.log(mulNumbers) // [2,4,6,8,10]

5. reduce

  • 배열의 각 요소에 대해 리듀서(reducer)함수를 실행하고, 하나의 결과값을 반환
  • 배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값);
  • 초깃값 없을 시 계산식에서 오류가 날 수 있다
let numbers = [1,2,3,4,5]
let sums = numbers.reduce((acc,cur,i)=>{
    console.log(acc, cur, i);
    return acc+cur;
},0);
//0 1 0
//1 2 1
//3 3 2
//6 4 3
//10 5 4

console.log(sums); //15

6. filter

  • 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다
let numbers = [1,2,3,4,5];
let result = numbers.filter((dr)=>{
	return dr>3;
});
console.log(result); // [4,5]

//조건에 만족하는 데이터가 없는 경우 [] 리턴

'JavaScript' 카테고리의 다른 글

JS - JSX?  (0) 2022.03.31
JS - Map() 과 Set()  (0) 2022.03.02
JS - 불변성(ps. Immutable)  (0) 2022.02.24
JS - 함수 (일반, 리터럴-익명)  (3) 2022.02.21
JS - 동기, 비동기  (0) 2022.02.19
댓글