Javascript Object.fromEntries()用法及代码示例

时间:2023-10-27    阅读:0

Object.fromEntries()方法

JavaScript中的Object.fromEntries()方法是一个内置对象,它用于将键值对列表转换为对象。这个方法接受一个可迭代对象,通常是一个包含键值对的数组或Map对象,并返回一个新对象,该新对象的属性由可迭代对象中的条目确定。

用法

Object.fromEntries(iterable)

参数:

  • iterable: 一个可迭代对象,例如Array、Map或其他实现可迭代协议的对象。

返回值:

  • 该方法始终返回一个新对象,新对象的属性由可迭代对象中的条目提供。

示例

示例 1:将Map转换为对象

const map1 = new Map([ ['fruit', 'apple'], [1, 0] ]); 
const geek = Object.fromEntries(map1); 
console.log(geek); 

const map2 = new Map( 
    [['color', 'red'], 
    ['weight', '50g']] 
); 
const obj = Object.fromEntries(map2); 
console.log(obj); 

输出:

// 示例 1输出
Object { fruit: "apple", 1: 0 }
Object { color: "red", weight: "50g" }

示例 2:将数组转换为对象

const arr1 = [ ['size', 'small'], [1, 0], ['a', 'b'] ]; 
const geek = Object.fromEntries(arr1); 
console.log(geek); 

const arr2 = [ ['color', 'red'], ['weight', '50g'] ]; 
const obj = Object.fromEntries(arr2); 
console.log(obj);

输出:

// 示例 2输出
Object { size: "small", 1: 0, a: "b" }
Object { color: "red", weight: "50g" }

示例 3:URL 参数转换

const params = 'type=fruit&size=big&weight=50'; 
const searchParams = new URLSearchParams(params); 
console.log(Object.fromEntries(searchParams)); 

输出:

// 示例3 输出
Object { type: fruit", size: "big", weight: "50" }

示例 4:配合Object.entries进行转换

const object1 = { val1: 1, val2: 2, val3: 3 }; 
const object2 = Object.fromEntries( 
  Object.entries(object1).map(([ key, val ]) => [ key, val * 3 ]) 
); 
console.log(object2); 

输出:

// 示例4 输出
Object { val1: 3, val2: 6, val3: 9 }

浏览器支持

Object.fromEntries()方法得到了主流浏览器的广泛支持,包括谷歌浏览器、Firefox、IE、Opera、Safari和Edge。这意味着你可以在这些浏览器中安心使用这个方法,而无需担心兼容性问题。

使用Object.fromEntries()方法可以简化从键值对列表创建对象的过程,特别是在处理Map对象或URL参数时非常方便。这个方法的广泛支持使其成为现代JavaScript开发的有用工具之一。

分类:前端 标签: javascript
相关推荐
  • Python——PyQt5以及Pycharm相关配置

    Qt是一个跨平台的 C++图形用户界面库。QT一度被诺基亚拥,后出售给芬兰的软件公司Digia Oyj。PyQt5是基于Digia公司Qt5的Python接口,由一组Python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。

    浏览10 2023-08-01