some ( )
배열의 요소 중에 하나라도 맞는게 있으면 true를 반환해주고 싹 다 일치 하지 않으면 false를 반환함
// 찾아서 있고 없음을 true, false로 반환해줌 -> 즉 확인해주는 함수
const numbers = [5, 10, 15, 25, 30, 35, 40, 45];
const result1 = numbers.some(item => item > 20);
console.log(result); // true
const users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' }
];
const result2 = users.some(item => item.name === 'Bob'); // true
some 메서드는 반복 메서드입니다. 이 메서드는 주어진 callbackFn함수가 참 같은 값을 반환할 때까지 배열 안에 있는 각각의 요소마다 한 번씩 호출합니다. 만약 그러한 요소를 찾았으면 some() 메서드는 그 즉시 true를 반환하며 배열 순회를 멈춥니다. 그렇지 않고 callbackFn이 모든 요소에 대해 거짓같은 값을 반환하면 some()은 false를 반환합니다.
위에 설명은 MDN의 설명이다. 쉽게 말하면 일치하는게 나올때까지 검사를 멈추지 않는다는 거다. 맞는게 나오면 그 즉시 검사 즉 순회를 마치고, true를 반환해버린다. 모두 일치 하지 않으면 false를 반환한다. .
간단한 예시를 들면 숙제검사로 들수 있다. 영어학원에서의 추억이 떠오른다. 원장 선생님이 학생들에게 하도 기대를 안한 나머지 한명이라도 숙제를 해왔으면 오늘 피자(true)를 사준다 했다. 만약 한명도 안해왔다면 빠따(false)를 때린다고 했었다. 약 6명 학생에 대한 숙제 검사를 선생님이 순회하면서 했었는데 그 중 한명이라도 했으면, 숙제 검사는 즉시 끝나고 피자를 먹었을거다.(true) 그러나 모두 하지 않아서 맞았다. (false)
참 그때는 왜이리 징하게도 숙제를 하지 않았는지... 어쨋든 some은 배열의 유효성을 검사하는데 좋을거 같다.
'JavaScript' 카테고리의 다른 글
자바 스크립트_ sort ( ) (0) | 2024.08.23 |
---|---|
자바 스크립트_ every ( ) (0) | 2024.08.23 |
자바 스크립트_ findIndex ( ) (0) | 2024.08.23 |
자바 스크립트_ concat ( ) (0) | 2024.08.23 |
자바 스크립트 _ join( ) (0) | 2024.08.23 |