js数组遍历方法的区别

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]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组方法 下面开始介绍数组的方法,数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组...
    祈求者阅读 372评论 0 2
  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 2,040评论 0 16
  • 创建: Array.isArray():检测数组 数组的toString() 数组的valueOf() push(...
    查查查查查查克阅读 556评论 6 5
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,221评论 0 13
  • 【课 次】 46/100【书 目】 《简单的逻辑学》【课程领拆】 崔莉莎【上课时间】2017年12月19日【笔记摘...
    央曰阅读 106评论 0 0