Object.fromEntries
Object.fromEntries
作為Object對象的新方法,可以視為Object.entries
的反向操作
該方法可以把鍵值對列表轉(zhuǎn)化為一個對象棒坏,入?yún)⒖梢允且粋€Map柄慰、Set竖幔、Array類型料皇,或者其他實現(xiàn)了可迭代協(xié)議的可迭代對象费封。(可迭代協(xié)議和可迭代對象介返,可以參考
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實例轉(zhuǎn)化為對象類型
// expected output: Object { foo: "bar", baz: 42 }
現(xiàn)在也可以通過Object.fromEntries
方法 + RLSearchParams
將location上面的url search參數(shù)拴事,快速轉(zhuǎn)化為對象類型:
Object.fromEntries(new URLSearchParams(location.search))
瀏覽器兼容性方面,除了ie圣蝎,其他主流新版本瀏覽器均支持該方法刃宵。
URLSearchParams
該方法傳入location.search作為參數(shù)時,會自動解析url參數(shù)捅彻,并且會返回一個可迭代的URLSearchParams
對象(雖然他和Map\Set有著類似的api组去,比如get、set步淹、delete从隆。但是他卻不是Map和Set的實例
兼容性方面,同樣是不支持ie缭裆,其他主流瀏覽器均支持