在 JavaScript 的新版本 ES10 中,Object 对象新增了两个方法:Object.values() 和 Object.entries()。这两个方法可以帮助我们更方便地操作对象,从而提高开发效率。本文将详细介绍这两个方法的用法以及示例代码。
Object.values()
Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用 for...in 循环的顺序相同(区别在于 for-in 循环枚举原型链中的属性)。
语法:
Object.values(obj)
参数:
- obj:必选,要返回其可枚举属性值的对象。
返回值:
- 一个包含给定对象所有可枚举属性值的数组。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const arr = Object.values(obj); console.log(arr); // [1, 2, 3]
Object.entries()
Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,键值对的顺序与使用 for...in 循环的顺序相同(区别在于 for-in 循环枚举原型链中的属性)。
语法:
Object.entries(obj)
参数:
- obj:必选,要返回其可枚举属性的键值对数组的对象。
返回值:
- 一个包含给定对象所有可枚举属性的键值对数组。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const arr = Object.entries(obj); console.log(arr); // [['a', 1], ['b', 2], ['c', 3]]
应用场景
Object.values() 和 Object.entries() 方法可以用于很多场景,比如:
1. 遍历对象属性
通过 Object.values() 和 Object.entries() 方法,我们可以更方便地遍历对象的属性,而不需要使用 for...in 循环。
示例代码:
-- -------------------- ---- ------- ----- --- - - -- -- -- -- -- - -- -------------------------------- -- -------------------- -- - -- - -- - ---------------------------------- ------- -- ---------------- -------- -- - - -- - - -- - -
2. 获取对象属性个数
通过 Object.values() 方法,我们可以很容易地获取对象的属性个数。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const len = Object.values(obj).length; console.log(len); // 3
3. 将对象转换为 Map
通过 Object.entries() 方法,我们可以将一个对象转换为一个 Map 对象。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const map = new Map(Object.entries(obj)); console.log(map); // Map { 'a' => 1, 'b' => 2, 'c' => 3 }
总结
Object.values() 和 Object.entries() 方法是 ES10 新增的两个方法,可以帮助我们更方便地操作对象,提高开发效率。本文详细介绍了这两个方法的用法和示例代码,希望能对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/662dc43dd3423812e4b5cd09