Minwoo Dev.

[JavaScript] JS some(), .some() 메소드 본문

JavaScript

[JavaScript] JS some(), .some() 메소드

itisminu 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