js中forEach()、map()、filter()、find()等新增数组方法的使用与区别

96 阅读1分钟

forEach()是对数组进行遍历的方法,有两个参数,第一个表示数组中的项本身,第二个参数表示数据的项的索引号。它没有返回值 例:如下我们用forEach()遍历数组时,可以更方便拿到数据的数据

         var arr = [{name: '张三'}, {name: '李思'}, {name: '哈哈'}]
         arr.forEach(function(item){
         console.log(item.name)
         })

image.png

map()即映射,也会对数组进行遍历,他会根据需要改变原数组,返回一个新的数组,需要用到return 。

filter()对数组进行遍历和过滤,可以根据条件来返回满足条件的数组中的项来组成的新的数组,会对条件进行判断,是否有满足的项,true就满足,false就不返回。

find()把数据中满足条件的项拿出来,但是只拿出一个项。

map()和filter()、find()的区别:map()只返回需要的数据组成的数组,适用于提取数组项中的数据进行操作或者改变其中的数据。filter()返回需要的数据的项组成的数组,适用于对数据的筛选. find()只拿出一个项,不会返回数组。