반응형
이번 글에서는 ES5에서 지원하는 Array Method 중 비슷한 성격의 every와 some에 대해서 살펴보도록 하겠습니다. 이 두가지 Array Method는 배열의 요소들이 주어진 조건을 만족하는지 여부에 대한 검증을 수행합니다.
1. Array.prototype.every()
- every()는 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 모두 true인지 확인합니다.
- 모든 case가 true일때 true를 반환합니다.
- 하나라도 false이면 반환 값은 false입니다.
- 기존 배열 값은 변경되지 않습니다.
[문법]
Parameter | Description |
function |
(필수) 배열의 각 값에 대해 실행할 함수 (총 3개 인자) |
- currentValue | (필수) 배열내에서 순차적으로 입력되는 엘리먼트 |
- index | (옵션) 현재 엘리먼트의 배열 내 index |
- array | (옵션) 현재 엘리먼트가 속한 배열 |
thisValue | (옵션) 함수 내부에서 사용될 this에 대한 값 |
[예제]
아래 예제는 나이에 대한 조건을 두고 every()의 return 값을 확인해보는 예제입니다. 배열에 대해서 배열 내의 모든 항목이 조건을 만족하는지 체크하며, 하나라도 false이면 false입니다. 간단하게 AND 조건이라고 생각하면 되겠습니다.
2. Array.prototype.some()
- some()은 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 하나라도 true가 있는지 확인합니다.
- 하나라도 true가 발생하면 true를 반환합니다.
- 모두 false인 경우만 false를 반환합니다.
- every가 and 조건이라면 some은 or 조건입니다.
- 기존 배열 값은 변경되지 않습니다.
[문법]
* 인자에 대한 설명은 Array.prototype.every 참조
[예제]
배열의 각 요소에 대해서 하나라도 조건을 만족하는 경우 true를 return 합니다. 각 배열에 대한 값의 OR 조건이라고 생각하면 되겠습니다.
이와같이 every 와 some 메소드는 기존에 for loop로 구현해야 했던 루틴을 아주 간단하게 표현할 수 있게 도와줍니다.
반응형
'웹 > JavaScript' 카테고리의 다른 글
[ES5] 배열 메소드 : reduce(), reduceRight() (2) | 2020.04.13 |
---|---|
[ES5] 배열 메소드 : indexOf(), lastIndexOf() (0) | 2020.04.08 |
[ES5] 배열 메소드 : map(), filter(), forEach() (0) | 2020.03.29 |
[ES6] 화살표 함수 (Arrow Function) 파헤치기 (2) | 2020.02.19 |
[JavaScript] this의 모든 것 : 예제로 살펴보기 (7) | 2020.01.31 |