자바스크립트에서 배열 내의 요소를 확인할 때 every() 함수와 some() 함수 2가지를 제공합니다.
두 Array Method는 배열의 요소들이 주어진 조건을 만족하는지 여부에 대한 검증을 수행합니다.
1) every,some - 특정 조건을 만족하는지 배열 내부의 원소를 순회하면서 검사한다.
2) 조건에 만족하면 True, 아니면 False를 리턴한다.
1. Array.prototype.every() - 전체가 만족해야 됨
- 모든 case가 true일때 true를 반환합니다.
- 순회를 하다 조건에 만족하지 않는 요소가 하나라도 발견되면, 그 즉시 순회를 멈춥니다.
예제1)
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
예제2)
let data= [
{ name: "jack", age: 20 },
{ name: "kevin", age: 16 },
{ name: "rick", age: 27 },
{ name: "marry", age: 21 },
{ name: "rilly", age: 19 }
]
//배열 내부 객체를 순회 - age >= 20 검사
//내부 원소 모두 만족해야 True 출력
let result = data.every( x => {
return x.age >= 20
});
console.log(result);
2. Array.prototype.some() - 하나만 만족하면 됨
- some()은 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 하나라도 true가 있는지 확인합니다.
- 하나라도 true가 발생하면 true를 반환합니다.
- 모두 false인 경우만 false를 반환합니다.
- every가 and 조건이라면 some은 or 조건입니다.
예제1)
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 (모두 탈락!)
예제2)
let data= [
{ name: "jack", age: 20 },
{ name: "kevin", age: 16 },
{ name: "rick", age: 27 },
{ name: "marry", age: 21 },
{ name: "rilly", age: 19 }
]
//배열 내부 객체를 순회 - age >= 20 검사
//내부 원소 한 개라도 만족 True 출력
let result = data.some( x => {
return x.age >= 20
});
console.log(result);
*참고
https://niceman.tistory.com/78
https://paperblock.tistory.com/67
'JavaScript' 카테고리의 다른 글
[Rejex] 정규 표현식 ( 정규식 - Regular expression) (0) | 2021.10.19 |
---|---|
[javascript] 웹 페이지 꽃가루 효과 - 반짝반짝 축하 효과 (0) | 2021.10.19 |
[Jquery] Flask 쿠키 삭제 removeCookie - jwt 로그아웃 [Jquery Plugin] (0) | 2021.10.19 |
[Jquery] 자바스크립트 이미지 파일 업로드 시 미리보기 제공하기 (0) | 2021.10.19 |
[JS] 팝업창 닫을 때 이벤트 잡기 ( onbeforeunload - 페이지를 벗어날 때) (2) | 2021.10.18 |