在 ES12 中,新增了一个非常实用的方法,即 Object.fromEntries()。该方法涉及到对象的转换和操作,本文将详细介绍 Object.fromEntries() 的语法,用法以及示例应用。
语法
Object.fromEntries(iterable);
其中 iterable 表示一个可迭代的对象,它的元素应该是键值对数组,例如:
[ ['name', 'Tom'], ['age', 18], ['gender', 'male'] ]
用法
Object.fromEntries() 方法主要用于将一个由键值对组成的数组转换成对象。这个方法特别实用,可以让我们快速地将一些特定格式的数据进行转换。
示例应用
示例1:将 Map 对象转换成对象
Map 是 ES6 中新增的一种数据类型,可以用来表示键值对。如果我们想将一个 Map 对象转换成对象,我们就可以使用 Object.fromEntries() 方法。
const map = new Map([ ['name', 'Tom'], ['age', 18], ['gender', 'male'] ]); const obj = Object.fromEntries(map); console.log(obj); // {name: "Tom", age: 18, gender: "male"}
示例2:从 URLSearchParams 对象中创建对象
URLSearchParams 对象是在 ES6 中新增的一种对象类型,用于处理 URL 查询参数。如果我们想将 URLSearchParams 对象转换成对象,我们就可以使用 Object.fromEntries() 方法。
const params = new URLSearchParams('name=Tom&age=18&gender=male'); const obj = Object.fromEntries(params); console.log(obj); // {name: "Tom", age: "18", gender: "male"}
示例3:将数组转换成对象
如果我们有这样一个数组,它由多个键值对组成:
const arr = [ ['name', 'Tom'], ['age', 18], ['gender', 'male'] ];
我们可以使用 Object.fromEntries() 方法将它转换成对象:
const obj = Object.fromEntries(arr); console.log(obj); // {name: "Tom", age: 18, gender: "male"}
示例4:将对象转换成 Map 对象
如果我们想将一个对象转换成 Map 对象,我们也可以使用 Object.fromEntries() 方法。
const obj = { name: 'Tom', age: 18, gender: 'male' }; const map = new Map(Object.entries(obj)); console.log(map); // Map(3) {"name" => "Tom", "age" => 18, "gender" => "male"}
总结
通过本文的学习,我们了解了 Object.fromEntries() 方法的语法、用法以及示例应用。这个方法在对象的转换和操作中非常实用,值得我们学习和掌握。在实际的开发中,我们可以根据需求灵活运用,提高代码的效率和简洁度。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65b7085eadd4f0e0fffa3401