博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象(Object)的遍历方法整理
阅读量:6294 次
发布时间:2019-06-22

本文共 1674 字,大约阅读时间需要 5 分钟。

for 循环

for 循环可以说是最原始的遍历方法,常常被用来遍历数组。

let arr = [1,2,3,4,5,6,7];for(var i=0;i

forEach()

forEach() 方法是用来遍历数组的,它可以接受一个回调函数作为参数。回调函数有两个参数分别是 item (值)和 index (下标)。

let arr = [1,2,3,4,5,6,7];arr.forEach(function(value,index){    console.log(value,index);})复制代码

对象遍历

这里所说的对象遍历包含但不限于数组的遍历方法。

for…in

for…in 方法循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。

const obj = {    name:'云库网',    domain:'http://yunkus.com',    age:'2年9月4日',};for(key in obj){    console.log(key,obj[key]);}复制代码

Object.keys()

ES5 方法。Object.keys 方法返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)。

const obj = {    name:'云库网',    domain:'http://yunkus.com',    age:'2年9月4日',};for(let key of Object.keys(obj)){    console.log(key,obj[key]);}复制代码

Object.values()

ES6 方法。Object.values() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值。

const obj = {    name:'云库网',    domain:'http://yunkus.com',    age:'2年9月4日',};for(let value of Object.values(obj)){    console.log(value);}复制代码

Object.entries()

ES6 方法。Object.entries() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值对数组。

const obj = {    name:'云库网',    domain:'http://yunkus.com',    age:'2年9月4日',};for(let [key,value] of Object.entries(obj)){    console.log(key,value);}复制代码

Reflect.ownKeys()

ES6 方法。Reflect.ownKeys() 方法返回一个数组,包含对象自身的所有属性,不管属性名是 Symbol 还是字符串,也不管是否可枚举。

const obj = {    name:'云库网',    domain:'http://yunkus.com',    age:'2年9月4日',};for(let key of Reflect.ownKeys(obj)){    console.log(key,obj[key]);}复制代码

for…of

ES6 方法。for…of 循环可以遍历数组、Set 和 Map 结构、某些类似数组的对象(比如 arguments 对象、DOM NodeList 对象)、Generator 对象,以及字符串。可以 for…of 循环真的是无所不能,但说是这么说,它还是要有个前提的,那就是 一个数组结构只要部署了 Symbol.iterator 属性,也就是说只要有 iterator 接口的,就可以被 for…of 循环遍历。

来源声明:

[原文链接]:(http://yunkus.com/object-traversal-method/)

文章转载来源:

你可能感兴趣的文章
SpringBoot 整合Redis
查看>>
2014上半年大片早知道
查看>>
Android 6.0指纹识别App开发案例
查看>>
正文提取算法
查看>>
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>