在 ECMAScript 2018 中,新增了一个静态方法 Object.entries(),该方法用于返回一个对象的可枚举属性的键值对数组。该方法可以用于对象解构,对象遍历和对象转换等场景,具有深度和学习以及指导意义。
方法语法
Object.entries() 方法语法如下:
Object.entries(obj)
其中,obj 为要转换为键值对数组的对象。
方法返回值
Object.entries() 方法返回一个由对象的所有可枚举属性的键值对组成的数组。键值对的顺序与使用 for...in 循环遍历对象时返回的顺序相同。
示例:
-- -------------------- ---- ------- ----- --- - - ----- ------ ---- --- ------- -------- -- ----- ------- - -------------------- --------------------- -- ------- --------- ------- ------- ---- ---------- ----------
应用场景
1. 对象遍历
Object.entries() 方法可以用于遍历对象,例如:
-- -------------------- ---- ------- ----- --- - - ----- ------ ---- --- ------- -------- -- --------- ----- ------ -- --------------------- -------------------- ----------- - -- ------- -- ----- --- -- ---- -- -- ------- ------
2. 对象解构
使用 Object.entries() 方法可以很方便地将对象转换为键值对数组,然后再使用数组解构来获取对象属性的值,例如:
-- -------------------- ---- ------- ----- --- - - ----- ------ ---- --- ------- -------- -- ----- -- ---- - ------------------------------- ------- -- --- --- ------- ----------------- -- ------- --
3. 对象转换
Object.entries() 方法可以用于将对象转换为其他形式的数据,例如:
-- -------------------- ---- ------- ----- --- - - ----- ------ ---- --- ------- -------- -- ----- ------ - --- ------------------------- -------------------- -- ------- ------ ------- -- ------ ----- -- --- -------- -- ---------
注意事项
Object.entries() 方法只会返回对象自身可枚举属性的键值对数组,不会返回继承属性的键值对数组。
总结
ECMAScript 2018 新增的静态方法 Object.entries() 可以很方便地将对象转换为键值对数组,用于对象遍历,对象解构和对象转换等场景,具有深度和学习以及指导意义。在使用时需要注意返回数组中只包含对象自身的可枚举属性的键值对,不包括继承属性的键值对。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e2f8b6f6b2d6eab3e45d2a