JavaScript
[JavaScript] JS some(), .some() 메소드
미누라니까요
2024. 2. 21. 18:53
728x90
반응형
SMALL
.some()
some 메소드는 JavaScript의 내장 함수로, 배열과 함께 사용된다.
arr.some(실행할 함수)
some() 메서드는 함수를 통해 배열을 순차적으로 검사한다.
for~in 문처럼 자동적으로 배열의 각 값이 하나하나 검사되는 형식인 셈이다.
some() 메서드의 특징은 배열의 값들 중 하나만 함수의 조건을 만족한다면, (배열값으로 함수를 실행했을 때 하나라도 참인 게 있다면) 결과는 true 가 나온다.
그리고 some() 메서드는 기본적으로 위의 형식을 가지고 있으며, 함수의 표현방식에 따라서 형태가 조금씩 달라진다.
1. 함수를 따로 정의하고 콜백함수 형식으로 some을 실행하는 경우
function isEven(num) { // 함수 선언
if (num % 2 === 0) {
return num;
}
}
let arr = [1, 3, 5, 7, 9, 11, 13, 2, 15];
let val = arr.some(isEven); // 검사할 함수 넣기
console.log(val);
위처럼 함수를 먼저 선언하고, 그 다음에 some에 인자값으로 함수를 넘겨주는 방식으로 실행하면 된다.
2. 함수를 some() 메서드 내부에 바로 작성하는 경우
let arr = [1, 3, 5, 7, 9, 11, 13, 2, 15];
let val = arr.some((num) => { // some() 메서드 내부에 화살표 함수로 작성함
if (num % 2 === 0) {
return num;
}
});
console.log(val);
위 코드는 some() 메서드 안에 화살표 함수(Arrow Function) 방식으로 함수를 직접 정의해준 방법이다.
꼭 화살표 함수 방식이 아니더라도 작동한다.
let arr = [1, 3, 5, 7, 9, 11, 13, 2, 15];
let val = arr.some(function (num) {
if (num % 2 === 0) {
return num;
}
});
console.log(val);
기본적인 익명함수 작성방식으로 작성하면 위와 같다.
두 코드 모드 아래와 같은 결과를 출력한다.
arr 배열에서, 짝수인 수는 2 뿐이다.
하지만 some() 메서드는 하나라도 있으면 결과적으로 true를 반환하므로, 위 코드들은 모두 true를 반환한다.
728x90
반응형
LIST