zoukankan      html  css  js  c++  java
  • js中对象数组遍历,及区别

    var student = {
          name:"李四",
          age:19,
          address:"武汉"
      }
    
    //遍历对象的属性
    for(let a in student){
          console.log(a)   // name age address
    }
    
    //es6遍历对象属性
    Object.keys(student)   //["name", "age", "address"]
    
    //遍历对象的值
    Object.values(student)  //["李四",19,"武汉"]
    数组的迭代方法:every、filter、forEach、map、some均不能使用break或者continue进行中断循环。
    var person = 
    [ {name:
    "小王",age:19,add:"湖北武汉"},


    {name:"小李",age:99,add:"湖北随州"},
    ]
    
     for(let i = 0; i<person.length; i++ ){
         console.log(person[i])
     }
    for(let a of person){
        console.log(a)     //数组中的每个对象
    }

    //输出的都是每个数组元素的value
    for(let val of person.values()){ 
    console.log(val)

     }

     //输出的都是每个数组元素的index。

     for(let index of person.keys()){ 

     console.log(index )

     }

     //配合解构使用,可以拿到元素的index和value。
     for (let [index, val] of person.entries()) {
        console.log(index, val);
     }

    
    person.forEach(当前元素对象,当前元素索引,当前元素所在的数组){}
    
    //map对数据中的每项进行操作返回一个新的数组,不会改变原数组
    结果: ["我来自{item.add}", "我来自{item.add}"]
    var newPerson = person.map((item,index,arr)=>{
       return `我来自{item.add}`       //
    })

    //filter 返回当前符合条件的新数组,不会改变原数组
    var newData = person.filter(item=>{
    return item.name =='小王'
    })

    //find返回数据中符合条件的一个对象,都没有符合就返回undefiend
    var findData = person.find((item)=>{
    return item.age > 18
    })

    //findIndex 返回数组中符合条件的元素索引,没有就返回-1

      var findIndex = person.findIndex(item=>{
         return item.age === 19
      })

     
    //every检查数组中是否都符合,符合true  some检查数组中的是否有符合条件的有true

       var everyData = person.every(item=>{
          return item.age >= 99
        })

        var someData = person.some(item=>{
          return item.age >= 99
        })

     
    
    
     
    
    




    
    

     

  • 相关阅读:
    [luoguP1196] 银河英雄传说(并查集)
    [luoguP1111] 修复公路(并查集)
    [luoguP2387] 魔法森林(LCT + 并查集)
    [BZOJ2594] [Wc2006]水管局长数据加强版(LCT + kruskal + 离线)
    [luoguP2045] 方格取数加强版(最小费用最大流)
    [BZOJ2843] 极地旅行社(LCT)
    [luoguP3690] 【模板】Link Cut Tree
    [luoguP3203][HNOI2010]BOUNCE 弹飞绵羊(LCT)
    [luoguP1901] 发射站(单调栈)
    codeforces Round#381 div2
  • 原文地址:https://www.cnblogs.com/huanhuan55/p/13970463.html
Copyright © 2011-2022 走看看