ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트 고차함수 - every(), some()
    프론트엔드/JavaScript 2020. 10. 6. 11:53

    every와 some 메서드를 사용하면 배열 안에 특정 조건을 만족하는 요소가 있는지 판별할 수 있다.

    some 메서드

    some 메서드는 배열 안의 요소 중 some이 파라미터로 받은 콜백함수의 조건에 맞는 요소가

     

    단 한 개라도 있으면 true를 반환한다.

     

    <body>
        <script>
        
            let num = [2,4,6,8,10];
    
            let some = num.some(function(item){ // some은 아예 해당안되면 false
                return item > 10;
            });
    
            console.log(some); // false 출력
    
        </script>
    </body>

     

    <body>
        <script>
        
            let num = [2,4,6,8,10];
    
            let some = num.some(function(item){ // some은 일부만 해당되도 true
                return item >= 10;
            });
    
            console.log(some);  // true 출력
    
        </script>
    </body>

     

    이때 some 메서드로 호출한 콜백함수는 some 메서드를 호출한

     

    배열 요소, 배열의 인덱스, 배열 그 자체를 파라미터로 받아올 수 있다.

     

    <body>
        <script
        
            let num = [2,4,6,8,10];
    
            let some = num.some(function(item, index, array){
                console.log("요소:"+item+" 인덱스:"+index+" 배열:"+array);
                return item > 10;
            });
            // 요소:2 인덱스:0 배열:2,4,6,8,10
            // 요소:4 인덱스:1 배열:2,4,6,8,10
            // 요소:6 인덱스:2 배열:2,4,6,8,10
            // 요소:8 인덱스:3 배열:2,4,6,8,10
            // 요소:10 인덱스:4 배열:2,4,6,8,10
    
        </script>
    </body>

     

    every 메서드

    every 메서드는 배열 안의 모든 요소가 every가 파라미터로 받은 콜백함수의 조건에

     

    모두 해당되야 true를 반환한다.

     

    <body>
        <script>
        
            let num = [2,4,6,8,10];
    
            let every = num.every(function(item){ // every는 일부만 해당되면 false
                return item > 2;
            })
    
            console.log(every); // false 출력
    
        </script>
    </body>

     

    <body>
        <script>
            let num = [2,4,6,8,10];
    
            let every = num.every(function(item){ // every는 모두가 해당되어야 true
                return item >= 2;
            })
    
            console.log(every); // true 출력
    
        </script>
    </body>

     

    이때 every 메서드로 호출한 콜백함수는 some 메서드를 호출한

     

    배열 요소, 배열의 인덱스, 배열 그 자체를 파라미터로 받아올 수 있다.

     

    <body>
        <script>
            let num = [2,4,6,8,10];
    
            let every = num.every(function(item, index, array){
                console.log("요소:"+item+" 인덱스:"+index+" 배열:"+array);
                return item >= 2;
            })
    
            // 요소:2 인덱스:0 배열:2,4,6,8,10
            // 요소:4 인덱스:1 배열:2,4,6,8,10
            // 요소:6 인덱스:2 배열:2,4,6,8,10
            // 요소:8 인덱스:3 배열:2,4,6,8,10
            // 요소:10 인덱스:4 배열:2,4,6,8,10
    
        </script>
    </body>

     

Designed by Tistory.