js中Map()、forEach()、filter()三个遍历方法之间的区别

323 阅读1分钟

共同点:

    //1、调用格式一致。
    var arr = ['2',,'1','3'];
    var f = new function(n) {
        return n + 1;
    }
    arr.map(f);
    arr.forEach(f);
    arr.filter(function (n) {
        return n > 1;
    });
    //2、function接收的参数含义一致。当为三个参数时,
    //第一个参数为当前遍历项,第二个参数为当前项下标。第三个参数表示当前调用数组。
    function(a,index,arr);
    //3、方法无法中断执行,总会将所有成员遍历完。
    //4、都不改变原数组。

不同点:

1、map()与filter()有返回值。forEach()方法没有返回值,只能操作数组成员。

2、map()返回执行函数操作后的值,组成新的数组。filter()用于过滤数组成员,返回满足条件的成员,组成新的数组返回。

3、map()和forEach()方法主要是对数组成员进行操作,filter()方法用于过滤数组成员。