在 ES8 中,Object.entries() 方法被引入了。这个方法是 Object 的一个实例方法,它返回一个给定对象自己的属性键值对数组。这个新增的方法提供了一种更加遍历对象属性的方式,有助于我们更加方便地处理对象的数据。
语法
Object.entries(obj)
- obj: 要返回其可枚举属性的对象。
返回值
Object.entries() 方法返回一个由对象自身的可枚举属性键值对数组组成的数组。如果 obj 不是一个对象,则抛出 TypeError 异常。
使用方法
以数组形式返回对象的属性键值对
对于一个对象,我们可以使用 Object.entries() 方法将其属性键值对以数组的形式返回。下面这个例子演示了如何使用 Object.entries() 方法将一个对象的属性键值对以数组的形式返回:
const obj = { x: 1, y: 2 }; const entries = Object.entries(obj); console.log(entries); // [[ 'x', 1 ],[ 'y', 2 ]]
遍历对象的属性键值对
我们可以在一个 for...of 循环中使用 Object.entries() 遍历一个对象的属性键值对。下面这个例子演示了如何使用 Object.entries() 遍历一个对象的属性键值对:
const obj = { x: 1, y: 2 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); } // x: 1 // y: 2
将对象的属性键值对转换为 Map 对象
我们可以使用 Object.entries() 方法将一个对象的属性键值对转换为 Map 对象。下面这个例子演示了如何使用 Object.entries() 方法将一个对象的属性键值对转换为 Map 对象:
const obj = { x: 1, y: 2 }; const map = new Map(Object.entries(obj)); console.log(map); // Map(2) { 'x' => 1, 'y' => 2 }
应用范围
Object.entries() 方法适用于所有类型的对象,包括基本数据类型和包装对象类型。使用 Object.entries() 方法可以更加方便地遍历对象的属性键值对,有助于我们处理对象的数据。
总结
Object.entries() 方法是 ES8 中新增的实例方法之一。它可以返回一个对象自己的属性键值对数组,让我们能够更加方便地处理对象的数据。Object.entries() 方法适用于所有类型的对象,包括基本数据类型和包装对象类型。使用 Object.entries() 方法可以更加方便地遍历对象的属性键值对。
示例代码
- 以数组形式返回对象的属性键值对:
const obj = { x: 1, y: 2 }; const entries = Object.entries(obj); console.log(entries); // [[ 'x', 1 ],[ 'y', 2 ]]
- 遍历对象的属性键值对:
const obj = { x: 1, y: 2 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); } // x: 1 // y: 2
- 将对象的属性键值对转换为 Map 对象:
const obj = { x: 1, y: 2 }; const map = new Map(Object.entries(obj)); console.log(map); // Map(2) { 'x' => 1, 'y' => 2 }
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64637084968c7c53b0478efe