天天看點

js map、filter、forEach

1、map方法

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>map方法</title>
    </head>

    <body>
        <script type="text/javascript">
            var arr = [6, 5, 4];
            var arrNew = [];
            arrNew = arr.map(function(value, index, arr) {
                console.log('目前值:' + value);
                console.log('目前值對應的索引:' + index);
                console.log('原數組:' + arr);
                return value * value
            });
            //map傳回新數組
            console.log(arrNew);
        </script>
    </body>

</html>      

控制台輸出為:

js map、filter、forEach

2、filter方法

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>filter方法</title>
    </head>

    <body>
        <script type="text/javascript">
            var arr = [6, 5, 4];
            var arrNew = [];
            arrNew = arr.filter(function(value, index, arr) {
                console.log('目前值:' + value);
                console.log('目前值對應的索引:' + index);
                console.log('原數組:' + arr);
                return value % 2 == 0;
            });
            //map傳回新數組
            console.log(arrNew);
        </script>
    </body>

</html>      
js map、filter、forEach

3、forEach方法

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>forEach方法</title>
    </head>

    <body>
        <script type="text/javascript">
            var arr = [6, 5, 4];
            var total = 0;
            arr.forEach(function(value, index, arr) {
                console.log('目前值:' + value);
                console.log('目前值對應的索引:' + index);
                console.log('原數組:' + arr);
                total += value
            });
            console.log(total);
        </script>
    </body>

</html>      

控制台輸出:

js map、filter、forEach

總結:以上函數的回調函數的形參是一樣的。

注意:jQuery中的each的參數是:

$(selector).each(function(index,element))      
是不一樣的順序。