【前言】本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想借着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) 新增的