zoukankan      html  css  js  c++  java
  • js中最常用的几种遍历数据方法

    https://blog.csdn.net/wanwan5856/article/details/79618024

    forEach,Object.keys,map,for in ,for of,reduce,every

    1. forEach 用于遍历【数组】

      data.forEach(( item, index ) => {
          console.log('元素:', item ,';下标:', index)
      })
      
    2. Object.keys() 和 forEach() 结合遍历【对象】

      // Object.keys返回一个数组,数组元素是输入对象所有的键名的集合
      
      Object.keys(testData).forEach((key)=>{   
          console.log(key) //键
          console.log(testData[key]) //值
      }) 
      

      注意:Object.keys出来的顺序不一定是对象属性原来的顺序,顺序和for..in相同。

      另外Object.keys还有一个妙用就是获取对象的长度,在js中数组长度可用length得到,对象长度用length获取的结果是undefined,使用Object.keys(obj).length就可以得到对象长度了。

    3. for...of (es6)用于遍历【数组】内的【元素】,不包括原型属性和索引名

      let myArray = [1,2,4,11,6,7]
      for (let value of myArray) {
          console.log(value)  //一次输出元素1、2、4、11、6、7
      }
      
    4. for...in (es5)用于遍历【对象/数组】内的【键名】,包括原型属性 (所以慎用!)

      let myArray = ['a',123,{a:'1',b:'2'}] 	//或为对象myArray = {a:'1',b:'2'}
      for(let index in myArray){
          console.log(index,myArray[index]) 	//输出键名 和 元素值
      }
      
      // 注意1:for..in会把某个类型的原型(prototype)中的方法与属性遍历出来
      // 不想遍历原型方法和属性的话,可以在循环内部使用hasOwnPropery方法可以判断某属性是否是该对象的实例属性
      if(!array.hasOwnProperty(i)){
          continue;
      }
      
      // 注意2:for..in遍历对象{}时出来的顺序不一定是对象属性原来的顺序,顺序和Object.keys相同。
      
  • 相关阅读:
    MySQL性能优化
    性能测试结果分析
    TFS使用之代码管理
    新博开通,近期将推出系列博客之测试工具篇!
    绝对受用的TFS操作指南
    2008 & 2005 TFS 安装心得及安装时遇到的问题!
    测试用例如何进行评审?
    cordova H5打包APK关键几点记录
    Silverlight+wcf 结合窗体验证演示
    两道js笔试题
  • 原文地址:https://www.cnblogs.com/consider/p/11731652.html
Copyright © 2011-2022 走看看