在 ES2017 中,JavaScript 新增了一个 Object.values() 方法,它可以返回一个对象自身可枚举属性的值的数组。这个方法可以帮助我们更方便地获取对象属性的值,从而提高代码的可读性和可维护性。
Object.values() 方法的语法
Object.values() 方法的语法如下:
Object.values(obj)
其中,obj 表示要获取值的对象。
Object.values() 方法的返回值
Object.values() 方法返回一个由对象自身可枚举属性的值组成的数组,数组中值的顺序与使用 for...in 循环遍历对象时返回的顺序一致。
下面是一个简单的示例:
const obj = {a: 1, b: 2, c: 3}; const values = Object.values(obj); console.log(values); // [1, 2, 3]
Object.values() 方法的应用场景
1. 获取对象属性的值
使用 Object.values() 方法可以更方便地获取对象属性的值。比如,我们可以将一个对象的属性值相加:
const obj = {a: 1, b: 2, c: 3}; const values = Object.values(obj); const sum = values.reduce((prev, curr) => prev + curr); console.log(sum); // 6
2. 获取对象属性的数量
使用 Object.values() 方法可以方便地获取对象属性的数量。比如,我们可以统计一个对象有多少个属性:
const obj = {a: 1, b: 2, c: 3}; const values = Object.values(obj); const count = values.length; console.log(count); // 3
3. 遍历对象属性的值
使用 Object.values() 方法可以方便地遍历对象属性的值。比如,我们可以使用 forEach() 方法遍历一个对象的属性值:
const obj = {a: 1, b: 2, c: 3}; const values = Object.values(obj); values.forEach(value => console.log(value)); // 输出: // 1 // 2 // 3
注意事项
Object.values() 方法只能获取对象自身可枚举属性的值,不能获取对象原型链上的属性值。如果要获取对象原型链上的属性值,可以使用 Object.getOwnPropertyNames() 方法获取对象所有属性的名称,然后逐个获取属性值。
总结
Object.values() 方法是 ES2017 中新增的一个方法,可以方便地获取对象自身可枚举属性的值,提高了代码的可读性和可维护性。它可以用于获取对象属性的值、获取对象属性的数量、遍历对象属性的值等场景。在使用时需要注意,它只能获取对象自身可枚举属性的值,不能获取对象原型链上的属性值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65fec972d10417a2229ff322