在 ES9 中使用 Object.values() 和 Object.entries() 遍历对象
在 JavaScript 开发中,我们经常需要遍历对象,获取对象中的属性和属性值。在 ES9 中,新增了 Object.values() 和 Object.entries() 方法,可以方便地遍历对象并获取属性值或属性名和属性值。
Object.values() 方法可以返回一个对象中所有属性值组成的数组;Object.entries() 方法可以返回一个对象中所有属性名和属性值组成的数组。
使用Object.values()方法遍历对象
Object.values() 方法的使用非常简单,只需要将对象作为参数传入即可:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]
使用 Object.entries() 方法遍历对象
Object.entries() 方法的使用也很简单,同样将对象作为参数传入即可:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
遍历对象的注意事项
使用 Object.values() 和 Object.entries() 方法遍历对象时需要注意以下几点:
- 顺序不确定
由于 JavaScript 对象属性的顺序不确定,使用 Object.values() 和 Object.entries() 方法遍历对象时获取的属性值或属性名和属性值的顺序也不确定。
- 不包括原型链上的属性
Object.values() 和 Object.entries() 方法只会遍历对象自身的属性,不会遍历对象原型链上的属性。
- 遍历 Symbol 类型属性
Object.values() 和 Object.entries() 方法可以遍历 Symbol 类型属性,但是需要注意 Symbol 类型属性不能通过点运算符访问,需要使用方括号语法。
示例代码
下面是一个完整的示例代码,演示如何使用 Object.values() 和 Object.entries() 方法遍历对象:
-- -------------------- ---- ------- ----- --- - - ----- ----- ---- --- ------------------- ------- -- -- -- --------------- ------ ----- ------ - ------------------- -------------------- -- ------ --- -- -- ---------------- ------ ----- ------- - -------------------- --------------------- -- --------- ------ ------- ---- -- -- ------ ---- --- ------ --- -- ---- - -- ------------------------------------------ ----- - -------------------- -------------- - - -- ---- -- ----- -- -- ---- --展开代码
结论
在 ES9 中,Object.values() 和 Object.entries() 方法为开发者提供了方便的遍历对象的方式,可以避免手动遍历对象的繁琐操作,提高开发效率。但需要注意的是,遍历对象时需要注意顺序不确定、不包括原型链上的属性等问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67628412856ee0c1d404ce0c