zoukankan      html  css  js  c++  java
  • JS遍历数组的操作(map、forEach、filter等)

    1、map的用法

    定义:原数组被“映射”成对应新数组

    代码示例:

    var users = [
      {name: "张含韵", "email": "zhang@email.com"},
      {name: "江一燕",   "email": "jiang@email.com"},
      {name: "李小璐",  "email": "li@email.com"}
    ];
    
    var emails = users.map(user=> { return user.email; });

    2、filter的用法

    定义:过滤器

    代码示例:

    var devices = [];
    var curList =[
            {id:1,name:"11111"},
            {id:2,name:"22222"},
            {id:3,name:"33333"},
            {id:4,name:"44444"}
            ]
    var allList =[
            {id:0,name:"00000",title:"嘻嘻0"},
            {id:1,name:"11111",title:"嘻嘻1"},
            {id:2,name:"22222",title:"嘻嘻2"},
            {id:3,name:"33333",title:"嘻嘻3"},
            {id:4,name:"44444",title:"嘻嘻4"},
            {id:5,name:"55555",title:"嘻嘻5"}
            ] allList.forEach(allItem
    =>{ var foo = curList.filter(curItem =>{return allItem.id == curItem.id})[0]; //返回满足条件的数组[{id:*,name:"***",title:"****"}] ,取下标为0的值,即返回满足条件的对象
      if(foo){
        devices.push({productid:allItem.id, name:allItem.name,title:allItem.title});
      }
    })
    console.log(devices)

    filter内部函数判断是否满足条件,满足条件即返回该下标的值并集合成数组。

     3、forEach的用法

    定义:遍历

    代码示例同上。

    这是两者的结合使用。

    当然上面示例的实现方式有点牵强,其实还有更简便和更好理解的实现方式。以下我就不一一赘述,仅记录用来自我总结和参照。

    allList.forEach(allItem =>{
        curList.forEach(curItem =>{
            if(allItem.id == curItem.id){
                 devices.push({productid:allItem.id, name:allItem.name,title:allItem.title});
            }
        })
    
    })
    console.log(devices)
    }

    这样的实现方式也可以提取和组合相同的部分。

  • 相关阅读:
    Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
    练oj时的小技巧(大多都在oj记录里,这是被忘记的部分)
    HDU 3032 (SG打表找规律)
    SG 大法(Sprague-Grundy函数)
    基于Linux的MySQL基本操作
    java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.解决方法
    手把手教你安装和配置MYSQL数据库
    理解Python闭包,这应该是最好的例子
    SQL基础
    MySQL令人咋舌的隐式转换
  • 原文地址:https://www.cnblogs.com/zjingjing/p/9238073.html
Copyright © 2011-2022 走看看