zoukankan      html  css  js  c++  java
  • es5 数组新增加的方法

    1.forEach

    let arr = ['aaa', 'bbb', 'ccc']
    arr.forEach((item, index, array) => {
        console.log(val, index, arr)
    })

    类似于,for循环

    2.map

    正常情况下,需要配合return来返回一个新的数组,如果没有return, 则相当于forEach

    let arr = [
          {name: '小明', sex: '', age: 15},
          {name: '小红', sex: '', age: 13},
          {name: '小东', sex: '', age: 17},
          {name: '小强', sex: '', age: 14}
        ]
    let newArr = arr.map((item, index, array) => {
          if (item.age > 16) {
            return item.name + '已成年'
          } else {
            return item.name + '未成年'
          }
    })
    console.log(newArr)

    3.filter

    过滤, 返回一个新的数组

    let arr = [
          {name: '小明', sex: '', age: 15},
          {name: '小红', sex: '', age: 13},
          {name: '小东', sex: '', age: 17},
          {name: '小强', sex: '', age: 14}
        ]
    let newArr = arr.filter((item, index, array) => {return item.age < 16
    })
    console.log(newArr)

    4.some

    按照我的理解就是判断数组中是否有满足条件的项

    let arr = [
        {name: '小明', sex: '男', age: 15},
        {name: '小红', sex: '女', age: 13},
        {name: '小东', sex: '男', age: 17},
        {name: '小强', sex: '男', age: 14}
    ]
    let newArr = arr.some((item, index, array) => {
        return item.age < 16
    })
    console.log(newArr)

    5.every

    判断数组中是否每一项都满足条件

    let arr = [
        {name: '小明', sex: '男', age: 15},
        {name: '小红', sex: '女', age: 13},
        {name: '小东', sex: '男', age: 17},
        {name: '小强', sex: '男', age: 14}
    ]
    let newArr = arr.every((item, index, array) => {
        return item.age < 16
    })
    console.log(newArr)
    
    

     6.reduce

    类似于递归函数,从左往右循环

    let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    let res = arr.reduce((prev, cur, index, array) => {
        return prev + cur
    })
    console.log(res)
    
    

    7、reducerRight

    类似于递归函数,从右往左循环

  • 相关阅读:
    LINQ体验(6)——LINQ语句之Join和Order By
    转 Spring.NET 与 NHibernate 的整合
    项目经理人必须要遵循的14个成功原则
    做成功的项目经理人
    就业模拟试题_Net(答案)
    java中的23中设计模式
    七种武器——.NET工程师求职面试必杀技
    如何识别真正的程序员
    WCF传输大数据的设置
    就业模拟试题_Java(答案)
  • 原文地址:https://www.cnblogs.com/wylj/p/10635348.html
Copyright © 2011-2022 走看看