数组常见的遍历方法

45 阅读1分钟

forEach,filter.map,reduce

map()方法 参数是一个函数 函数有两个参数 没有return返回值 结果就是undefined

 // map  参数是一个函数   函数有两个参数  
        // 
        const arr = [1, 2, 3]
        const res = arr.map(function (item, index) {
            return item * item
        })
        console.log(res);

        //    函数没有返回值  得到结果就是undefined
        const res1 = arr.map(function (item, index) {
            // return item*item

        })
        console.log(res1);// undefined

forEach() 参数是一个函数 函数有两个参数

const arr = [10,20,30] 

    const res1 = arr.forEach(function(item, index) {
      console.log(13);
    })
    console.log(res1);

遍历三次 返回值是undefined

filter() 同样参数是一个函数 函数有两个参数 返回是一个数组

const arr = [10,20,30]
 const res2 = arr.filter(function(item, index) {
      return item >20
    })
    console.log(res2);

返回值是一个 [20] 数组20 一般用于筛选 比较

reduce() 有两个参数, 第一个参数是 数组, 第二参数是 初始值(可以不写)

//      返回值:   函数最后 return的返回值
    const arr = [1,2,3,4]

    // reduce的第一个参数是函数, 内部函数的参数 有三个 sum 累加器  item 当前数组项  index
    const res = arr.reduce(function(sum, item, index){
      // 函数循环3次的原因,因为没有给reduce第二个参数,所有 累加器sum的初始值就是 数组第一项
      console.log(sum, item, index);
      sum = sum + item
      return sum; //这个return必须写上,返回的值就是sum
    })
    console.log('最终的结果:', res);

reduce函数的使用 ---- 工作里面 react框架里面 有很多这个函数使用