返回
掌握 Object.entries() 和 Object.fromEntries(),开启对象转换之旅
前端
2023-11-20 03:09:12
Object.entries():对象转数组
Object.entries() 方法可以将一个对象转换成一个数组,其中包含对象的键值对。每个键值对都是一个数组,第一个元素是键,第二个元素是值。例如:
const person = {
name: "John Doe",
age: 30,
city: "New York"
};
const personEntries = Object.entries(person);
console.log(personEntries);
输出结果:
[
["name", "John Doe"],
["age", 30],
["city", "New York"]
]
正如你所看到的,Object.entries() 方法将 person 对象转换成了一个数组,其中包含了三个键值对。
Object.fromEntries():数组转对象
Object.fromEntries() 方法可以将一个数组转换成一个对象,其中包含数组中的键值对。每个键值对都是一个数组,第一个元素是键,第二个元素是值。例如:
const personEntries = [
["name", "John Doe"],
["age", 30],
["city", "New York"]
];
const person = Object.fromEntries(personEntries);
console.log(person);
输出结果:
{
name: "John Doe",
age: 30,
city: "New York"
}
正如你所看到的,Object.fromEntries() 方法将 personEntries 数组转换成了一个对象,其中包含了三个键值对。
使用场景
Object.entries() 和 Object.fromEntries() 方法在实际开发中有很多应用场景。例如:
- 将对象转换成数组,以便使用数组的方法来处理数据。
- 将数组转换成对象,以便使用对象的属性来访问数据。
- 将一个对象的键值对复制到另一个对象中。
- 将一个对象转换成 JSON 字符串。
- 将一个 JSON 字符串转换成对象。
注意事项
在使用 Object.entries() 和 Object.fromEntries() 方法时,需要注意以下几点:
- Object.entries() 方法不会转换对象的原型链中的键值对。
- Object.fromEntries() 方法不会转换数组中的重复键值对。
- Object.entries() 方法的返回值是一个浅拷贝,如果对象中的值是引用类型,则浅拷贝不会复制引用类型的值。
- Object.fromEntries() 方法的返回值是一个浅拷贝,如果数组中的键值对中的值是引用类型,则浅拷贝不会复制引用类型的值。
总结
Object.entries() 和 Object.fromEntries() 方法是 JavaScript 中用来转换对象和数组的实用工具。它们的使用方法简单,并且在实际开发中有许多应用场景。