본문 바로가기

JavaScript/underscore.js

_.some() 함수 사용법

728x90

목록의 값 중 하나라도 조건자 참 테스트를 통과하면 true를 반환합니다.
참 요소가 발견되면 단락을 일으키고 목록 순회를 중지합니다.  
사용형식 : _.some(list, [predicate], [context]) 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>UnderScore.js 연습</title>
    <script src="https://unpkg.com/jquery@3.6.1/dist/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/underscore@1.13.6/underscore-umd-min.js"></script>
    <style type="text/css">
        div { border: 1px solid gray; padding: 5px; margin: 5px; }
    </style>
    <script type="text/javascript">
        $(function(){
            // 목록의 값 중 하나라도 조건자 참 테스트를 통과하면 true를 반환합니다.
            // 참 요소가 발견되면 단락을 일으키고 목록 순회를 중지합니다.  
            // 사용형식 : _.some(list, [predicate], [context]) 
            let odds = _.some([1,3,5,6,8,7,9], (value) => { 
                console.log(value);
                return value%2==0
            });
            $("#result").append(odds + "<hr>");
            
            $("#result").append(_.some([1,2,3,4,5], (value) => { 
                console.log(value);
                return value > 5
            }));
            $("#result").append("<hr>");
            let users = [
                {id: 1name"한놈"}, 
                {id: 2name"두식이"},
                {id: 3name"석삼"},
                {id: 4name"너구리"},
                {id: 5name"오징어"},
            ]
            let user = _.some(users, (user) => { 
                console.log(user);
                return user.id==3
            });
            $("#result").append(user + "<br>");
        });
    </script>    
</head>
<body>
    <div id="result"></div>
</body>
</html>
cs

 

다음은 실행화면 입니다.

 

1. 배열의 요소중 짝수를 만나면 실행을 중지하고 true를 반환합니다.

            let odds = _.some([1,3,5,6,8,7,9], (value) => {
                console.log(value);
                return value%2==0;
            });
            $("#result").append(odds + "<hr>");

결과

true

개발자 모드 콘솔창의 모습입니다. 6에서 참이 되므로 true를 반환하고 순회를 중지함을 알 수 있습니다.

 

2. 조건을 만족하는 값이 배열의 요소에 없으므로 끝까지 반복하고 알수없음을 반환합니다.

            $("#result").append(_.some([1,2,3,4,5], (value) => {
                console.log(value);
                return value > 5;
            }));

결과

 

개발자 모드 콘솔창의 모습입니다.모든 데이터를  순회함을 알 수 있습니다.

3. 배열값 중에서 id값이 3인 항목을 만나면 true를 반환하고 순회를 

            let users = [
                {id: 1, name: "한놈"},
                {id: 2, name: "두식이"},
                {id: 3, name: "석삼"},
                {id: 4, name: "너구리"},
                {id: 5, name: "오징어"},
            ]
            let user = _.some(users, (user) => {
                console.log(user);
                return user.id==3;
            });

결과

true

개발자 모드 콘솔창의 모습입니다. id속성값이 3을 만나면 조건이 true이므로 true를 반환하고 순회를 중지함을 알 수 있습니다.

 

728x90

'JavaScript > underscore.js' 카테고리의 다른 글

_.every() 함수 사용법  (0) 2023.02.24
_.reject()함수 사용법  (0) 2023.02.24
_.where() 함수 사용법  (0) 2023.02.24
_.filter() 함수 사용법  (0) 2023.02.24
_.findWhere() 함수 사용법  (0) 2023.02.24