forEach, map, filter,some,every,find,reduce区别

在这里插入图片描述

 forEach

1.循环数组中每一个元素并采取操作

2.无法break中途跳出循环

3.不支持return操作输出,return只用于控制循环是否跳出当前循环

4.没有返回值

      this.list.forEach(item => {
       item.codeshow = false
        })

map

1.创建新数组

2.不改变原数组

3.输出的是return什么就输出什么新数组

4.可以有返回值(return),也可以没有返回值(return)

//无返回值  原数组改变
 this.data.map(async v => {
        if (v.city) {
              v.cityName = '你的名字'
         }
   })


//有返回值  原数组不变 有新数组
var newData =  this.data.map(async v => {
           return  v.cityName = '你的名字'
         
   })

filter

1.创建新数组

2.不改变原数组

3.输出的是判断为true的数组元素形成的新数组

  //筛选并返回daataEx里item.system不等于base的数据 (数组)
 var dataExNew = dataEx.filter(item => {
          return item.system != 'base'
  })

some

1.不创建新数组
2.不改变原数组
3、输出的是判断为true则马上跳出循环并return Boolean

(本人未用过,暂不演示)

every

1.不创建新数组
2.不改变原数组
3.输出的是判断为false则马上跳出循环并return成Boolean

(本人未用过,暂不演示)

find

1.不创建新数组
2.不改变原数组
3.输出的是一旦判断为true则跳出循环输出符合条件的数组元素

看了上面就知道了何时用何种函数了

猜你喜欢

转载自blog.csdn.net/u012174809/article/details/123396420
今日推荐