【前言】
本系列為個人前端學習之路的學習筆記,在過往的學習過程中累積了很多筆記,如今想藉著IT邦幫忙這個平台做整理+再複習。
本系列標題一律以【】標示該篇文章主要涉及的內容,例如【JavaScript】、【Vue】等等。
若內容有誤,還麻煩各路大神不吝於點出問題,感激不敬。
Object.entries() 是ES2017 (ES8)新增的語法
用途是方便我們將javascript物件轉成其他資料結構
舉例來說,我們有以下物件:
let obj = {a: 1, b: 2}
使用Object.entries()之後就會變成:
[ ['a', 1], ['b', 2] ]
Object.entries()會取得物件中所有屬性的 name 和 value,並以陣列回傳(將物件轉為陣列)
題外話
如果我們對原始型態的值使用Object.entries()則會變成這樣:
console.log(Object.entries('123')); // [ ['0', '1'], ['1', '2'], ['2', '3'] ]
如果我們只想要將物件中的key或是value變成一個陣列怎麼辦呢?
我們可以使用Object.keys()和Object.values()
console.log(Object.keys(obj)) // ['a', 'b']
console.log(Object.values(obj)) // [1, 2]
是不是很方便呢
不過還是要注意一下兼容性問題
Object.keys() 是ES5 新增
Object.values() 和Object.entries() 則是ES2017 (ES8) 新增的