有。遍歷方法:1、“for…in”語(yǔ)句,遍歷對(duì)象自身的和繼承的可枚舉屬性;2、Object.keys(),對(duì)屬性名進(jìn)行遍歷;3、Object.getOwnPropertyNames(),對(duì)屬性名進(jìn)行遍歷;4、Object.getOwnPropertySymbols(),遍歷所有Symbol屬性;5、Reflect.ownKeys(),遍歷所有屬性。
前端(vue)入門到精通課程:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
es6遍歷對(duì)象的6種方法
(1)for…in
for...in
循環(huán)遍歷對(duì)象自身的和繼承的可枚舉屬性(不含 Symbol 屬性)。
const obj = { id:1, name:‘zhangsan’, age:18 } for(let key in obj){ console.log(key + ‘—’ + obj[key]) }
(2)Object.keys(obj)
Object.keys
返回一個(gè)數(shù)組,包括對(duì)象自身的(不含繼承的)所有可枚舉屬性(不含 Symbol 屬性)的鍵名。
(3)Object.getOwnPropertyNames(obj)
Object.getOwnPropertyNames
返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性(不含 Symbol 屬性,但是包括不可枚舉屬性)的鍵名。
(4)Object.getOwnPropertySymbols(obj)
Object.getOwnPropertySymbols
返回一個(gè)數(shù)組,包含對(duì)象自身的所有 Symbol 屬性的鍵名。
(5)Reflect.ownKeys(obj)
Reflect.ownKeys
返回一個(gè)數(shù)組,包含對(duì)象自身的(不含繼承的)所有鍵名,不管鍵名是 Symbol 或字符串,也不管是否可枚舉。
以上的 5 種方法遍歷對(duì)象的鍵名,都遵守同樣的屬性遍歷的次序規(guī)則。
- 首先遍歷所有數(shù)值鍵,按照數(shù)值升序排列。
- 其次遍歷所有字符串鍵,按照加入時(shí)間升序排列。
-
最后遍歷所有 Symbol 鍵,按照加入時(shí)間升序排列。
(5)Reflect.enumerate(obj)
Reflect.enumerate(obj),返回一個(gè)Iterator對(duì)象,遍歷對(duì)象自身的和繼承的所有可枚舉屬性(不含Symbol屬性),與for … in 循環(huán)相同。
【