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