zoukankan      html  css  js  c++  java
  • 关于数据的遍历方法

    forEach
    forEach遍历完整,不会中断,在其内部使用return也只是起到continue的作用,仅跳过当前这条
    arr.forEach((item, index, arr1) => {
    ...
    })
    

    map

    map 遍历完整,不中断,返回新数组
    const map1 = arr.map(x => x * 2); // 返回一个arr值的二倍数组, [1,2,3] => [2,4,6]
    

    filter

    filter遍历完整,不中断,返回新数组判断是true作为新数组的单元
    const map1 = arr.map(x => x>2); // 返回一个arr值的二倍数组, [1,2,3,5, 6, 7] => [3,5,6,7]

     

    find

    find找到第一个符合条件,中断,返回一个值   , 没找到就是undefined
    const map1 = arr.find(x => x>2); // 返回一个值, [1,2,3,5, 6, 7] => 3

     

    findIndex

    find找到第一个符合条件,中断,返回一个索引   , 没找到就是undefined
    const map1 = arr.findIndex(x => x>2); // 返回一个值, [1, 2, 3, 5, 6, 7] => 2

     

    includes

    includes 是否包含一个指定的值。它返回一个布尔值true/false。
    const map1 = arr.includes(3); // 是否含有3, [1,2,3,5, 6, 7] => true

    some

    some 找到第一个符合条件中断。它返回一个布尔值true/false。
    const map1 = arr.map(x => x>2); // 是否含有大于2的值, [1,2,3,5, 6, 7] => true

     

    every

    every 遍历完整,不中断。它返回一个布尔值true/false。
    every 都符合条件,返回一个true;否则,返回一个false
    const map1 = arr.map(x => x>2); // 是否都大于2, [1,2,3,5, 6, 7] => false

     

    reduce

    array.reduce(function(acc, cur, idx, src), initval)
    reduce 遍历完整,不中断。汇总为单个返回值

    reducer 函数接收4个参数:

    1. Accumulator (acc) (累计器)
    2. Current Value (cur) (当前值)
    3. Current Index (idx) (当前索引)
    4. Source Array (src) (源数组)
    const map1 = arr.reduce((acc, cur, idx, arr)=> {
      return acc + cur*idx
    }); // 返回一个值, 第一个数不是成为cur,二是acc的初始值,cur的第一个值是第二个数

    如果array是对象数组,但要做对象属性值的累加,可以给Accumulator (acc) (累计器)一个初始值initval

    const arr2 = [{name:'1', num:1},{name:'3',num: 8},{name:'7',num:90}]; 
    const initval = 90;
    arr2.reduce((total, currentValue, currentIndex, arr)=>{return total+currentValue.num}, initval);
    //90+1+8+90=189
    

      

     

     

  • 相关阅读:
    所有抽样单元都有相等的被选取机会 ,说法错误
    银行存款余额表由谁编制的
    资本公积——资本溢价与资本公积——其他资本公积
    货币单元抽祥
    企业安全生产费用账务的处理
    Tableau代写制作地图可视化和树形图、条形图
    Tableau 代写数据可视化:探索性图形分析新生儿死亡率数据
    R、Python代写、Open Refine采集pdf数据,清理数据和格式化数据
    使用GIS编程代写制作静态地图和处理地理数据
    用R语言编程代写制作交互式图表和地图
  • 原文地址:https://www.cnblogs.com/baixinL/p/13602694.html
Copyright © 2011-2022 走看看