JS의 some 메서드

Clear·2023년 4월 16일
0

Daily Posting

목록 보기
18/27

some이란?

  • some() 메서드는 자바스크립트 배열 객체의 메서드 중 하나입니다.

  • 배열의 각 요소에 대해 콜백 함수를 실행하고, 그 함수의 반환값이 true가 되는 최초의 요소를 찾으면 즉시 true를 반환하며, 그렇지 않으면 false를 반환합니다.

  • some() 메서드는 ECMAScript 5 (ES5)에서 등장했으며, 배열 요소 중에서 적어도 하나의 조건을 만족하는지 확인하는 용도로 많이 사용됩니다. 예를 들어, 배열에서 특정 요소를 찾거나, 배열 요소가 특정 조건을 만족하는지 확인하는데 자주 사용됩니다.

코드 예제

// Before
function orderCheck(order, cb) {
  let include = true;
  cb.forEach(ele => {
    if (!order.includes(ele)) {
      include = false;
      return;
    }
  })
  return include;
}

// After
function orderCheck(order, cb) {
  return !cb.some(ele => !order.includes(ele));
}

Before

Before 코드는 forEach문을 사용해 배열을 순회하면서, order 배열에 현재 요소가 존재하지 않으면 include를 false로 바꾸는 로직을 구현하고 있습니다.

  • 이 방식은 배열의 길이만큼 모두 반복해야 하므로 성능 면에서는 좋지 않습니다.

After

  • some 메서드를 사용해 order 어레이가 ele을 포함하고 있지 않으면, 즉시 종료하고 true를 반환합니다. 그리고 !연산자를 통해 최종적으로 false가 반환됩니다.

결론

  • some() 메서드는 forEach() 메서드나 for 반복문보다 짧은 코드로 작성할 수 있으며,
  • 불필요한 코드 작성을 줄일 수 있어 가독성이 높아집니다.
  • 또한 some() 메서드는 요소를 검사하는 즉시 반환되므로, 모든 요소를 반복할 필요가 없어 성능적으로 유리할 수 있습니다.

0개의 댓글