이번 글에서는 Array Method 중 비슷한 성격의 every
와 some
에 대해서 살펴보도록 하겠습니다.
이 두가지 Array Method는 배열의 요소들이 주어진 조건을 만족하는지 여부에 대한 검증을 수행합니다.
arr.every(function(currentValue, index, array), thisValue))
Parameter | Description |
---|---|
function | (필수) 배열의 각 값에 대해 실행할 함수 (총 3개 인자) |
- currentValue | (필수) 배열내에서 순차적으로 입력되는 엘리먼트 |
- index | (옵션) 현재 엘리먼트의 배열 내 index |
- array | (옵션) 현재 엘리먼트가 속한 배열 |
thisValue |(옵션) 함수 내부에서 사용될 this에 대한 값
나이에 대한 조건을 두고 every()의 return값을 확인해 보는 예제입니다.
배열에 대해서 배열 내의 모든 항목이 조건을 만족하는지 체크하며, 하나라도 false이면 false를 반환합니다. (간단하게 AND조건이라고 생각하면 될 듯)
var objArr = [{name: '철수', age: 10}, {name: '영희', age: 10}, {name: '바둑이', age: 2}]
console.log(objArr.every((item)=> item.age>5)); //false (바둑이 탈락!)
console.log(objArr.every((item)=> item.age>1)); //true
arr.some(function(currentValue, index, array), thisValue))
※ 인자에 대한 설명은 Array.prototype.map 참조
배열의 각 요소에 대해 하나라도 조건을 만족하는 경우 true를 return
각 배열에 대한 값의 OR조건 이라고 생각하면 될 듯
var objArr = [{name: '철수', age: 10},{name: '영희', age: 10}, {name: '바둑이', age: 2}]
console.log(objArr.some((item)=> item.age>5)); //true
console.log(objArr.some((item)=> item.age>10)); //false (모두 탈락!)
Array.prototype.every()
: and조건Array.prototype.some()
: or조건