简介
ECMAScript 2016 引入了一些新的方法和特性,其中包括 Object.values() 方法。Object.values() 方法返回一个给定对象自身的所有可枚举属性的值,以数组的形式返回。该方法可以方便地获取对象的所有属性值,并且可以用于对数组的处理。
语法
Object.values(obj)
- obj:必需,要返回其可枚举属性值的对象。
返回值
Object.values() 方法返回一个数组,该数组包含了给定对象的所有可枚举属性值。数组中的属性值的顺序与使用 for...in 循环遍历该对象时返回的顺序相同。
示例代码
下面的代码演示了如何使用 Object.values() 方法:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values);
输出结果为:
[1, 2, 3]
应用场景
Object.values() 方法可以用于对对象属性值的处理。例如,可以使用 Object.values() 方法将对象的属性值转换为数组,并对数组进行排序、过滤、映射等操作。
下面的代码展示了如何使用 Object.values() 方法对对象进行排序:
const obj = { a: 3, b: 1, c: 2 }; const values = Object.values(obj); values.sort((a, b) => a - b); console.log(values);
输出结果为:
[1, 2, 3]
可以看到,使用 Object.values() 方法将对象的属性值转换为数组后,可以方便地调用数组的 sort() 方法进行排序。
注意事项
- Object.values() 方法只返回给定对象自身的可枚举属性值,不包括从原型链继承的属性值。
- 对象属性值的顺序与使用 for...in 循环遍历该对象时返回的顺序相同。
- 因为返回值是一个数组,因此不能直接使用对象的一些属性和方法,如 Object.keys() 和 Object.entries()。
总结
Object.values() 方法提供了一种方便获取对象属性值的方式,并且可以方便地对属性值进行处理。使用该方法可以大大简化编码,提高开发效率。但是需要注意该方法的返回值可能会受到原型链等因素的影响,需要在实际使用时进行注意和判断。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64afc59b48841e9894becc86