es6遍歷對象的幾種方式


ES6一共有5種方法可以遍歷對象的屬性。

(1)for...in

for...in循環遍歷對象自身的和繼承的可枚舉屬性(不含Symbol屬性)。

(2)Object.keys(obj)

Object.keys返回一個數組,包括對象自身的(不含繼承的)所有可枚舉屬性(不含Symbol屬性)。

(3)Object.getOwnPropertyNames(obj)

Object.getOwnPropertyNames返回一個數組,包含對象自身的所有屬性(不含Symbol屬性,但是包括不可枚舉屬性)。

(4)Object.getOwnPropertySymbols(obj)

Object.getOwnPropertySymbols返回一個數組,包含對象自身的所有Symbol屬性。

(5)Reflect.ownKeys(obj)

Reflect.ownKeys返回一個數組,包含對象自身的所有屬性,不管是屬性名是Symbol或字符串,也不管是否可枚舉。

///////Object.keys遍歷屬性/////////
let obj = {a:1, b:2,c:3};
Object.keys(obj); //["a", "b", "c"]返回對象屬性數組

 

/////////Object.keys遍歷value/////////
let obj = {a:1,b:2,c:function(){}};
Object.values(obj); //[1, 2, f]返回對象屬性value值數組


///////Object.entries遍歷鍵值對////////
let obj = {a:1,b:2,c:function(){}};
Object.entries(obj); ////[['a',1],['b', 2], ['c',f]返回對象鍵值對數組

///////Object.getOwnPropertyNames遍歷屬性(枚舉+不可枚舉)/////////
let obj = {a:1,b:2,c:function(){}};
Object.getOwnPropertyNames(obj); ////["a", "b", "c"]返回對象包括不可枚舉的屬性數組

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM