JavaScript에서 some
함수는 배열의 요소를 순차적으로 순회하면서 특정 조건을 만족하는지 체크합니다.
만족하는 요소가 하나라도 있을 경우 true를 그 외에는 false를 반환합니다.
some 함수 구문 및 매개변수
arr.some(callback(element, index, array), thisArg)
arr
- 순회하고자 하는 배열
element
- 현재 배열의 요소
index(생략 가능)
- 현재 배열 요소의 index
array(생략 가능)
- some
함수를 호출한 배열
thisArg(생략 가능)
- callback 함수를 실행할 때, this로 사용되는 값(= some
함수에서 사용될 this 값)
some 함수의 특징
- true를 만족하는 요소를 찾을 때까지 callback 함수를 실행합니다.
- 만족하는 요소가 없거나 빈 배열인 경우 false를 반환합니다.
- 배열의 요소가 삭제되었거나 할당한 적이 없는 인덱스는 callback 함수를 호출하지 않습니다.
- 원래 배열의 값을 변경하지 않습니다.
- 처리하는 요소의 범위는 callback 함수의 첫 호출 전에 설정됩니다.
배열 요소에서 10보다 큰 값이 있는지 체크
var arr = [10, 5, 20, 1];
var someResult;
someResult = arr.some(function(data) {
return data > 10;
})
console.log(someResult);
// true
만약, 빈 배열에서 some
함수를 호출하거나 만족하는 값이 없을 경우 false를 반환합니다.
var arr = [10, 5, 20, 1];
var someResult;
var arrSomeResult;
someResult = [].some(function(data, idx) {
return data > 10;
})
console.log(someResult);
// false
arrSomeResult = arr.some(function(data, idx) {
return data > 20;
})
console.log(arrSomeResult);
// false
some
함수에서 callback 함수는 3번 호출됩니다.
배열 arr
의 2번째 인덱스의 값인 20이 10보다 크기 때문에 true를 반환하고 some
함수는 종료되었습니다.
var arr = [10, 5, 20, 1];
var someResult;
someResult = arr.some(function(data, idx) {
console.log(idx + 1 + '번 호출');
return data > 10;
})
console.log(someResult);
실행 결과
callback 함수를 화살표 함수로 사용
배열 요소에서 10보다 큰 값이 있는지 체크하는 코드를 화살표 함수를 사용하였습니다.
var arr = [10, 5, 20, 1];
var someResult;
someResult = arr.some((data) => data > 10)
console.log(someResult);
// true
반응형
'JavaScript > JavaScript 문법' 카테고리의 다른 글
[JavaScript]문자열에서 특정 문자열 포함 여부 확인 (0) | 2021.08.17 |
---|---|
[JavaScript]Map 객체 (0) | 2021.08.17 |
[JavaScript]변수 선언과 호이스팅(Hoisting) (0) | 2021.08.17 |
[JavaScript]현재 날짜 구하기, yyyymmddhhmmss포메팅 (0) | 2021.08.16 |
[ECMAScript]Set 객체 (0) | 2021.08.13 |
댓글