배열메소드 every, some

qwe8851·2022년 6월 10일
0

📚 JavaScript

목록 보기
10/57

이번 글에서는 Array Method 중 비슷한 성격의 everysome에 대해서 살펴보도록 하겠습니다.
이 두가지 Array Method는 배열의 요소들이 주어진 조건을 만족하는지 여부에 대한 검증을 수행합니다.

1. Array.prototype.every()


  • every()는 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 모두 true인지 확인합니다.
  • 모든 case가 true일때 true를 반환합니다.
  • 하나라도 false이면 반환 값은 false입니다.
  • 기존 배열 값은 변경되지 않습니다.

[문법]

arr.every(function(currentValue, index, array), thisValue))
ParameterDescription
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

2. Array.prototype.some()


  • some()은 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 하나라도 true가 있는지 확인합니다.
  • 하나라도 true가 발생하면 true를 반환합니다.
  • 모두 false인 경우만 false를 반환합니다.
  • every가 and 조건이라면 some은 or 조건입니다.
    기존 배열 값은 변경되지 않습니다.

[문법]

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 (모두 탈락!)





#Summary

  • Array.prototype.every() : and조건
  • Array.prototype.some()   : or조건
profile
FrontEnd Developer with Vue.js, TypeScript

0개의 댓글