JS对象新增方法Object.fromEntries

2022-02-16  本文已影响0人  ITgecko
Object.fromEntries

Object.fromEntries作为Object对象的新方法,可以视为Object.entries的反向操作
该方法可以把键值对列表转化为一个对象,入参可以是一个Map、Set、Array类型,或者其他实现了可迭代协议的可迭代对象。(可迭代协议和可迭代对象,可以参考
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Iteration_protocols
https://es6.ruanyifeng.com/#docs/iterator

const entries = new Map([
  ['foo', 'bar'],
  ['baz', 42]
]);

const obj = Object.fromEntries(entries);

console.log(obj);
// 可以快捷地将Map和Set实例转化为对象类型
// expected output: Object { foo: "bar", baz: 42 }

现在也可以通过Object.fromEntries方法 + RLSearchParams将location上面的url search参数,快速转化为对象类型:

Object.fromEntries(new URLSearchParams(location.search))

浏览器兼容性方面,除了ie,其他主流新版本浏览器均支持该方法。

URLSearchParams

该方法传入location.search作为参数时,会自动解析url参数,并且会返回一个可迭代的URLSearchParams对象(虽然他和Map\Set有着类似的api,比如get、set、delete。但是他却不是Map和Set的实例
兼容性方面,同样是不支持ie,其他主流浏览器均支持

上一篇 下一篇

猜你喜欢

热点阅读