美文网首页
js数组遍历方法的区别

js数组遍历方法的区别

作者: 简简_cb67 | 来源:发表于2018-04-29 13:05 被阅读0次

    js数组Array对象为我们提供了一些数组遍历的方法,这些方法有各自的作用,也分别适用于不同的场景。

    Array对象上的五中遍历方法如下:

    every():对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true;

    some():对数组中的每一项运行给定的函数,如果该函数对只要其中一项返回true,则返回true;

    filter():对数组中的每一项运行给定的函数,则返回该函数会返回true的项所组成的新的数组;

    map():对数组中的每一项运行给定的函数,则返回每次函数调用的结果所组成的新的数组;

    forEach():对数组中的每一项运行给定的函数,这个方法没有返回值,最终会改变原有的数组为一个新的数组;

    (1) every()和some()返回的是布尔值,可以用来判断数组是否满足某个条件;例如:

    var arr = [1,2,3,4,5];

    var resEvery = arr.every(function(item,index,arr){

        return (item>2);

    });

    console.log(resEvery); // false

    var arr = [1,2,3,4,5];

    var resSome = arr.every(function(item,index,arr){

        return (item>2);

    });

    console.log(resSome); // true

    (2) filter主要用来删选符合条件的数据,最终返回一个新的数组,例如:

    var arr =  [1,2,3,4,5];

    var res = arr.filter(function(item,index,arr){

        return (item>2);

    });

    console.log(res ); // [3,4,5]

    (3) map()和forEach()都是对数组中的每一项进行处理,区别在于map()会返回一个新的数组,而forEach()则不能返回结果,而是直接改变原来的数组,例如:

    var arr =  [1,2,3,4,5]; 

    var res = arr.map(function(item,index,arr){

    return item*2;

    });

    console.log(res);// [2,4,6,8,10]

    console.log(arr); // [1,2,3,4,5]


    arr.forEach(function(item,index,arr){

    item*2

    });

    console.log(arr);// [2,4,6,8,10]

    相关文章

      网友评论

          本文标题:js数组遍历方法的区别

          本文链接:https://www.haomeiwen.com/subject/nxjolftx.html