JS遍历数组的方法有:

  1. for
  2. forEach
  3. for…in
  4. for…of
  5. map

JS遍历对象的方法有

  1. for…in
  2. Object.keys
  3. Object.getOwnPropertyNames(obj)

JS遍历数组
1.for循环

 /* for 普通的for循环,遍历数组 */var arr = [1,2,3,4,5];for (var i =0;i < arr.length;i ++){console.log('for遍历',arr[i]);}/* 当数据过多时,可以将长度缓存起来,避免重复获取长度,数组很大时,优化效果明显 */// for(var j = 0,len = arr.length; j < len; j++){//     console.log(arr[j]);// }

2.forEach循环(ES5新增)

/* forEach 数组自带的循环,遍历数组  */let arr = [1,2,3,4,5,6,7] arr.forEach(function(value,i){console.log('forEach遍历',i,value);})

3.for…in(不推荐遍历数组)
for…in是es5标准,此方法遍历数组的效率比较低,主要用来循环遍历对象的属性

 let arr = [1,2,3,4,5];for(let item in arr){console.log(arr[item])}

4.for…of(ES6新增)

let arr = [1,2,3,4,5,6];
for(let value of arr){console.log(value);}

es6新出的方法,for…of ,值得注意的是,for…of 和 for…in不一样,for…in是直接获取数组的索引,而for…of是直接获取的数组的值。
它既比传统的for循环简洁,同时弥补了forEach和for-in循环的短板。
循环遍历键值对的value,与for in遍历key相反

5.map(ES6新增)
map是映射的意思,原数组会被映射成对应的新数组

     let arr =[1,2,3,4,5,6]; let newArr = arr.map( function(value,index){console.log(value + '--' + index)return value+1
})
console.log(arr);//1,2,3,4,5,6
console.log(newArr);//2,3,4,5,6,7

注意:从上面的代码我们可以发现,map支持return,相当于把原数组克隆了一份,把克隆的每项都改变了,也不会影响原数组;

JS遍历对象的方法有

1.for…in遍历对象(常用)

 let obj = {name:'西城辉',age:18,job:'student'}for (let key in obj){console.log(key + ':' + obj[key]);}

2.Object.keys 遍历对象

 let obj = {name:'西城辉',age:18,job:'student'}for (let key of Object.keys(obj)){//for  of 不能单独来遍历对象,要结合Object.keys一起使用console.log(key + ':' + obj[key]);}

**3.Object.getOwnPropertyNames(obj)**遍历对象

     let obj = {name:'西城辉',age:18,job:'student'}Object.getOwnPropertyNames(obj).forEach(function (key){console.log(key+ ':' +obj[key]);})

**返回一个数组,包含对象自身的所有属性(包含不可枚举属性) 遍历可以获取key和value **

JS遍历数组和对象的方法相关推荐

  1. 遍历数组、对象的方法

    前提​:前端最重要的任务的经常要处理数据的​!经常的是列表的遍历问题​!例如遍历数组.对象的方法​!!! 遍历数组: 1.普通for循环 for(var i = 0; i < arr.lengt ...

  2. JQuery和原生JS遍历数组和对象的对比

    目录 1 遍历数组 1.1 JQuery遍历数组 1.2 原生JS遍历数组 2 遍历对象 2.1 JQuery遍历对象 2.2 原生JS遍历对象 1 遍历数组 1.1 JQuery遍历数组 在JQue ...

  3. vue使用js遍历数组和对象

    前言 在vue中,遍历数组和对象的方式略有不同,不能完全以数组或对象的遍历方式给对方使用并获取数据.为了记录以及以后方便查看,现在对其进行整理. 数组遍历 以数组 array = [1,2,3,4,5 ...

  4. JS遍历数组的几种方法

    1.普遍的遍历方式 for(var i= 0;i<arr.length;i++){console.log("第一种遍历方式:"+arr[i]); } 2.for-in两个形参 ...

  5. JS遍历数组,对象,字符串

    数组遍历 for --使用变量将数组长度缓存起来,在数组较长时性能优化效果明显 for(var i=0,len=arr.length;i<len;i++){console.log("元 ...

  6. js 遍历数组及对象属性

    遍历数组: for(let i of arr){console.log(i); } 遍历对象属性: for (let i of Object.keys(obj)){console.log(param[ ...

  7. JS遍历数组的12种方法

    一. for 普通版 for (let i = 0; i < arr.lengthl; i++) {// ... } 优化版 // 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大 ...

  8. 常见的遍历数组和对象的方法

    1.for循环 var list = [1,2,3,4,5]; for (var i = 0; i < list.length; i ++) {console.log(list[i]); // ...

  9. js的数组和对象的多种复制和清空, 以及区分JS数组和对象的方法

    js的数组和对象的多种"复制"和"清空", 以及区分JS数组和对象的方法 一.数组清空与复制方法 1.数组清空的方法 var a = [1,2,3]; a.le ...

最新文章

  1. spark:sortByKey实现二次排序
  2. PDH光端机的原理_PDH光端机的作用优点
  3. 【电路补习笔记】2、电容的参数与选型
  4. sql中的并、交、差
  5. 字符缓冲输入流 BufferedReader java
  6. 搭建NFS使多个服务器中的web项目共享图片资源
  7. 用javascript实现(页面正在加载的效果)
  8. [修正] Firemonkey Windows 控件有虚线残影问题
  9. 全网段ip扫描工具_FuzzScanner 信息搜集的工具集
  10. Bean的自动装配Autowiring
  11. css3渐变画斜线 demo
  12. Matlab简单描点绘图
  13. 小米双频AC智能路由器699元震撼首发
  14. 说明书中电磁兼容部分指南和制造商的声明怎么写?
  15. 《老路用得上的商学课21—25》消费心理学(二)
  16. 云计算现在前景如何?怎么转型成为云计算工程师?
  17. incsgo 可直接立刻取回皮肤的CSGO饰品皮肤开箱网站
  18. chinaren同学录的字数倒记数
  19. 文档中多余的分页符的删除
  20. 浏览器配置存在问题。。360断网急救箱未能修复

热门文章

  1. web前端培训多长时间
  2. C++ 类自杀 delete this
  3. 国家推动云计算等IT服务和电子商务加快发展
  4. 剑指 Offer 53 - II. 0~n-1中缺失的数字(二分查找)
  5. latex 罗马数字
  6. 电子病历系统开发过程
  7. “模拟飞行”的玩法(ArcGIS)
  8. 环保认证油烟监测装置餐饮业油烟污染如何治理?
  9. 海蜘蛛路由免费版也可以看流量
  10. 基于matlab信道均衡仿真,基于MATLAB的数字自适应信道均衡器仿真研究.doc