JavaScript의 some() 메소드는 배열의 요소 중 적어도 하나라도 주어진 테스트 함수를 만족하는지 확인하고, 그 결과를 불리언 값으로 반환한다.
이 메소드는 배열을 반복하면서 각 요소에 대해 지정된 함수를 실행하고,
함수에서 true를 반환하는 요소가 하나라도 있으면 즉시 true를 반환한다.
만약 배열의 모든 요소가 함수 조건을 만족하지 않으면 false를 반환한다.
기본 구조
array.some(function(element, index, array) { // 조건 반환 }, thisArg);
element: 현재 처리하고 있는 요소.
index (선택적): 현재 요소의 인덱스.
array (선택적): some() 메소드가 호출된 배열.
thisArg (선택적): 콜백 함수 내에서 사용될 this의 값.
예1)
const numbers = [2, 5, 8, 1, 4]; const hasLargeNumbers = numbers.some(function(element) { return element > 10; }); console.log(hasLargeNumbers); // false, 10보다 큰 숫자가 없으므로 false 반환
예2)
const people = [ { name: "Alice", age: 25 }, { name: "Bob", age: 17 }, { name: "Charlie", age: 16 } ]; const hasAdults = people.some(person => person.age >= 18); console.log(hasAdults); // true, Alice가 18세 이상이므로 true 반환
주의!!
some() 메소드는 배열의 첫 요소부터 시작하여 조건을 만족하는 요소를 찾으면 즉시 검색을 중단한다.배열이 비어있으면 some() 메소드는 false를 반환
some() 메소드는 원본 배열을 변경하지 않는다.
특정 조건에 따라 배열 내 하나 이상의 요소가 요구하는 조건을 충족하는지 여부를 간편하게 확인할 때 유용하게 사용된다.
자주 사용되는 유효성 검사, 조건 검사 등에 효과적이다.