JS 배열 메소드 : every , some

지현·2023년 8월 30일
0

Javascript / TypeScript

목록 보기
14/16
post-thumbnail

프로그래머스 배열 문제를 풀다가 every 와 some 메소드 사용이 헷갈려서 공부하기 위해 적어본다.

이 메소드들은 둘 다 배열의 요소들이 주어진 조건을 만족하는지 여부에 대한 검증을 수행한다.

Array.prototype.every()

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

문법

arr.every(function(currentValue, index, array), thisValue))

  • currentValue 인자는 필수, 나머지는 옵션

Array.prototype.some()

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

문법

arr.some(function(currentValue, index, array), thisValue))

  • currentValue 인자는 필수, 나머지는 옵션

두 메소드 사용 예제

cosnt array = [1, 2, 3, 4];
let result = array.some(num => num > 2);
console.log(result); // true
result = array.every(num => num > 2);
console.log(result); // false

정리

두 메소드는 배열의 값을 확인하고 true/false를 반환한다는 점에서 비슷하지만 every() 메소드는 모든 값이 true 일때만 true를 반환하고 하나라도 false인 경우 false 를 반환한다. 반면 some() 메소드는 값 중 하나라도 true이면 true를 반환하고 모든 값이 false일때만 false를 반환한다.

쉽게 말하자면 every()는 And 조건, some()은 Or 조건이라고 할 수 있다.

0개의 댓글