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>

控制台输出为:

 

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>

控制台输出为:

 

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>

控制台输出:

 

总结:以上函数的回调函数的形参是一样的

注意:jQuery中的each的参数是:

$(selector).each(function(index,element))
是不一样的顺序
原文地址:https://www.cnblogs.com/mengfangui/p/8073118.html