ค้นหาเว็บไซต์

javascript - ทางเลือกของ Map(iterable) สำหรับ IE 11


น่าเสียดายที่ฉันต้องสนับสนุน IE11

ฉันสร้างแผนที่ของฉันด้วยโค้ดนี้ (polyfill สำหรับ .entries ใช้แล้ว):

const map = new Map(Object.entries(array));

แต่เนื่องจาก IE11 ไม่รองรับตัวสร้าง iterable ทำให้ Map ว่างเปล่า

ฉันหา polyfill หรือสิ่งอื่นใดสำหรับเรื่องนี้ไม่เจอ มีใครมีวิธีแก้ง่าย ๆ สำหรับเรื่องนี้บ้างไหม?

หลังจากนั้นฉันใช้ map แบบนี้:

  map.forEach((maps: ITopoInterface[], key: string) => {
    maps.findIndex((t: ITopoInterface) => {
     //do stuff
    });
  });

คำตอบ #1

คุณพูดว่านี่ว่างเปล่า:

const map = new Map(Object.entries(array));

คุณลองเพิ่มค่าด้วยตัวเองแล้วหรือยัง?

const map = new Map();
Object.entries(array).forEach(entry => {
    map.set(entry[0], entry[1]);
});