ES10 中引入的 Object.fromEntries 是什么?

在 ES10 中,引入了一个新的方法,叫做 Object.fromEntries。这个方法可以将一个键值对数组转换为一个对象。这个方法的用途非常广泛,可以用于处理各种数据格式,比如 JSON、URLSearchParams 等。

什么是 Object.fromEntries?

Object.fromEntries 是一个静态方法,它接收一个键值对数组作为参数,然后返回一个由这个数组转换而来的对象。

const entries = [['foo', 'bar'], ['baz', 42]];
const obj = Object.fromEntries(entries);

console.log(obj); // { foo: 'bar', baz: 42 }

Object.fromEntries 的用途

Object.fromEntries 的主要用途是将键值对数组转换为对象。这在处理各种数据格式时非常有用,比如 JSON、URLSearchParams 等。

将 JSON 转换为对象

我们可以使用 JSON.parse 方法将 JSON 字符串转换为一个对象。但是,如果我们有一个键值对数组,我们可以使用 Object.fromEntries 方法来更方便地将它转换为一个对象。

const json = '{"foo": "bar", "baz": 42}';
const entries = Object.entries(JSON.parse(json));
const obj = Object.fromEntries(entries);

console.log(obj); // { foo: 'bar', baz: 42 }

将 URLSearchParams 转换为对象

URLSearchParams 是一个用于处理 URL 查询参数的 API。我们可以使用它来解析 URL 中的查询参数,并将其转换为一个对象。

const searchParams = new URLSearchParams('foo=bar&baz=42');
const entries = [...searchParams.entries()];
const obj = Object.fromEntries(entries);

console.log(obj); // { foo: 'bar', baz: '42' }

Object.fromEntries 和 Object.entries 的区别

Object.entries 是一个静态方法,它接收一个对象作为参数,然后返回一个由这个对象的键值对组成的数组。

const obj = { foo: 'bar', baz: 42 };
const entries = Object.entries(obj);

console.log(entries); // [ ['foo', 'bar'], ['baz', 42] ]

Object.fromEntries 和 Object.entries 的作用是相反的。Object.entries 可以将一个对象转换为一个键值对数组,而 Object.fromEntries 可以将一个键值对数组转换为一个对象。

总结

Object.fromEntries 是一个非常有用的方法,它可以将键值对数组转换为一个对象。这个方法的用途非常广泛,可以用于处理各种数据格式,比如 JSON、URLSearchParams 等。在实际开发中,我们可以根据具体的需求,灵活运用这个方法,提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65bcc316add4f0e0ff5b255b