JS遍历数组和对象的方法
JS遍历数组的方法有:
- for
- forEach
- for…in
- for…of
- map
JS遍历对象的方法有
- for…in
- Object.keys
- 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.普通for循环 for(var i = 0; i < arr.lengt ...
- JQuery和原生JS遍历数组和对象的对比
目录 1 遍历数组 1.1 JQuery遍历数组 1.2 原生JS遍历数组 2 遍历对象 2.1 JQuery遍历对象 2.2 原生JS遍历对象 1 遍历数组 1.1 JQuery遍历数组 在JQue ...
- vue使用js遍历数组和对象
前言 在vue中,遍历数组和对象的方式略有不同,不能完全以数组或对象的遍历方式给对方使用并获取数据.为了记录以及以后方便查看,现在对其进行整理. 数组遍历 以数组 array = [1,2,3,4,5 ...
- JS遍历数组的几种方法
1.普遍的遍历方式 for(var i= 0;i<arr.length;i++){console.log("第一种遍历方式:"+arr[i]); } 2.for-in两个形参 ...
- JS遍历数组,对象,字符串
数组遍历 for --使用变量将数组长度缓存起来,在数组较长时性能优化效果明显 for(var i=0,len=arr.length;i<len;i++){console.log("元 ...
- js 遍历数组及对象属性
遍历数组: for(let i of arr){console.log(i); } 遍历对象属性: for (let i of Object.keys(obj)){console.log(param[ ...
- JS遍历数组的12种方法
一. for 普通版 for (let i = 0; i < arr.lengthl; i++) {// ... } 优化版 // 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大 ...
- 常见的遍历数组和对象的方法
1.for循环 var list = [1,2,3,4,5]; for (var i = 0; i < list.length; i ++) {console.log(list[i]); // ...
- js的数组和对象的多种复制和清空, 以及区分JS数组和对象的方法
js的数组和对象的多种"复制"和"清空", 以及区分JS数组和对象的方法 一.数组清空与复制方法 1.数组清空的方法 var a = [1,2,3]; a.le ...
最新文章
- spark:sortByKey实现二次排序
- PDH光端机的原理_PDH光端机的作用优点
- 【电路补习笔记】2、电容的参数与选型
- sql中的并、交、差
- 字符缓冲输入流 BufferedReader java
- 搭建NFS使多个服务器中的web项目共享图片资源
- 用javascript实现(页面正在加载的效果)
- [修正] Firemonkey Windows 控件有虚线残影问题
- 全网段ip扫描工具_FuzzScanner 信息搜集的工具集
- Bean的自动装配Autowiring
- css3渐变画斜线 demo
- Matlab简单描点绘图
- 小米双频AC智能路由器699元震撼首发
- 说明书中电磁兼容部分指南和制造商的声明怎么写?
- 《老路用得上的商学课21—25》消费心理学(二)
- 云计算现在前景如何?怎么转型成为云计算工程师?
- incsgo 可直接立刻取回皮肤的CSGO饰品皮肤开箱网站
- chinaren同学录的字数倒记数
- 文档中多余的分页符的删除
- 浏览器配置存在问题。。360断网急救箱未能修复