JavaScript
[javascript] 자바스크립트 some & every 메소드란?
dev.mk
2022. 6. 18. 21:26
반응형
1. every
every 메서드는 다음과 같이 사용한다. 배열.every( (요소, 인덱스, 배열) => { return 요소 } ,(옵션)함수 내부에서 사용될 this에 대한 값);
- every()는 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 모두 true인지 확인한다.
- 모든 case가 true일때, true를 반환한다.
- 하나라도 false이면 반환 값은 false다.
- 기존 배열 값은 변경되지 않는다.
배열에 대해서 배열 내의 모든 항목이 조건을 만족하는지 체크하며, 하나라도 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
나이가 5보다 큰것은 3개중 2개밖에 해당이 되지 않기 때문에 false 이다.
2. some
some 메서드는 다음과 같이 사용한다. 배열.every( (요소, 인덱스, 배열) => { return 요소 },(옵션) 함수 내부에서 사용될 this에 대한 값);
- some()은 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 하나라도 true가 있는지 확인한다.
- 하나라도 true가 발생하면 true를 반환한다.
- 모두 false인 경우만 false를 반환한다.
- every가 and 조건이라면 some은 or 조건이다.
- 기존 배열 값은 변경되지 않는다.
배열의 각 요소에 대해서 하나라도 조건을 만족하는 경우 true를 return 한다. 각 배열에 대한 값의 OR 조건이라고 생각하자.
var objArr = [{name: '철수', age: 10}
,{name: '영희', age: 10}
, {name: '바둑이', age: 2}
]
console.log(objArr.some( (item)=> item.age > 5) );
//true (철수랑 영희의 나이가 5보다 크기 때문에 조건 성립)
console.log(objArr.some( (item)=> item.age > 10) );
//false (모두 해당되지 않음)
반응형