前言
在 ES6 中,我们可以通过 Object.keys()
获取对象的所有 key,并将其组成一个数组返回。但如果我们想要同时获取对象的 key 和 value,我们需要自己手动实现或使用其他工具库。而在 ES7 中,新增了两个方法 Object.entries()
和 Object.values()
,可以让我们更方便地获取对象的 key 和 value。
Object.entries()
Object.entries()
方法返回一个给定对象自身可枚举属性的键值对数组。其返回的数组中,每个元素都是一个具有两个元素的数组,第一个元素表示对象的属性名,第二个元素表示该属性的值。
示例代码:
----- --- - - ---- ------ ---- -- -- --------------------------------- -- - - ------ ----- -- - ------ -- - -
如果对象中存在不可枚举的属性,则这些属性不会被包含在返回的数组中:
----- --- - ----------------- - ---- - ------ --- ----------- ----- -- ---- -- ---- - ------ -------- ----------- ---- -- --- - --- --------------------------------- -- - - ------ ------- - -
值得注意的是,Object.entries()
方法返回的数组中,属性的顺序是根据对象中属性出现的顺序而定的。如果需要按照属性名字母升序排序,可以结合 Array.prototype.sort()
使用:
----- --- - - -- -- -- -- -- - -- ----- ------------- - --------------------------- --------------------------- -- - - ---- - -- - ---- - -- - ---- - - -
Object.values()
Object.values()
方法返回一个给定对象自身可枚举属性的值数组。和 Object.entries()
方法类似,返回的数组中,每个元素都是一个属性值。
示例代码:
----- --- - - ---- ------ ---- -- -- -------------------------------- -- - ------ -- -
和 Object.entries()
方法一样,Object.values()
方法也不会包含对象中不可枚举的属性。
----- --- - ----------------- - ---- - ------ --- ----------- ----- -- ---- -- ---- - ------ -------- ----------- ---- -- --- - --- -------------------------------- -- - ------- -
总结
在 ES7 中,新增了两个方法 Object.entries()
和 Object.values()
,可以用于更方便地获取对象的 key 和 value。利用这两个方法,可以让我们更加便捷地操作对象,提高代码效率和可读性。
参考链接
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/645acd3c968c7c53b0d1da7a