首页 > 解决方案 > IE11 兼容 Object.fromEntries

问题描述

所以我想让我的 ES6 JavaScript 代码与 IE11 兼容,但我遇到了一些问题。

var res这是Google Chrome 内部的回报在此处输入图像描述

提示:category 是 key,result[category] ​​是 value。

这是我拥有的代码

for (var category in result) {
    var res = Object.fromEntries(Object.keys(result[category]).filter(x => x !== 'Other').concat('Other').map(x => [x, result[category][x]]));
    console.log(res);
}

有人可以指导我如何var res与 IE11 兼容吗?看起来像Object.fromEntries并且Object.keys可能不受支持。

标签: javascriptjquery

解决方案


您可以Object.fromEntries使用简单的for循环进行 polyfill。

function fromEntries(entries){
    var res = {};
    for(var i = 0; i < entries.length; i++) res[entries[i][0]] = entries[i][1];
    return res;
}
if(!Object.fromEntries) Object.fromEntries = fromEntries;
console.log(fromEntries([['a', 1], ['b', 2]]))


推荐阅读