在前端开发中,我们经常需要对对象进行遍历或者获取对象中的某些属性值。ES8 中新增了两个方法 Object.entries() 和 Object.values(),它们可以快速地帮助我们实现这些操作。
Object.entries()
Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。这个数组中的每个元素都是一个形如 [key, value] 的数组,其中 key 是对象的属性名,value 是属性值。
示例代码:
----- --- - - -- -- -- -- -- - -- ----- ------- - -------------------- --------------------- -- ------ --- ----- --- ----- ---
Object.entries() 方法可以很方便地将对象转换成数组,我们可以使用数组的一些方法,如 forEach()、map()、reduce() 等对其进行操作。
示例代码:
----- --- - - -- -- -- -- -- - -- ---------------------------------- ------- -- - -------------------- ----------- --- -- -- - -- -- - -- -- -
Object.values()
Object.values() 方法返回一个给定对象自身可枚举属性的所有属性值的数组。
示例代码:
----- --- - - -- -- -- -- -- - -- ----- ------ - ------------------- -------------------- -- --- -- --
Object.values() 方法可以很方便地获取对象中的所有属性值,我们可以使用数组的一些方法,如 forEach()、map()、reduce() 等对其进行操作。
示例代码:
----- --- - - -- -- -- -- -- - -- -------------------------------- -- - ------------------- --- -- - -- - -- -
总结
Object.entries() 和 Object.values() 是 ES8 中新增的两个方法,它们可以快速地帮助我们实现对象的遍历和属性值获取。使用它们可以让我们的代码更加简洁和易读,同时也可以提高代码的效率。
在实际开发中,我们可以结合这两个方法进行一些高级操作,比如将对象转换成 Map 对象,或者使用 Object.fromEntries() 方法将数组转换成对象。
----- --- - - -- -- -- -- -- - -- ----- --- - --- ------------------------- ----------------- -- --- - --- -- -- --- -- -- --- -- - - ----- ------- - ------ --- ----- --- ----- ---- ----- ---- - ---------------------------- ------------------ -- - -- -- -- -- -- - -
在使用 Object.entries() 和 Object.values() 方法时,我们需要注意它们不支持非可枚举属性的遍历,同时也不支持原型链上的属性遍历。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6607871ad10417a222617129