JavaScript Map စမ်းသပ်ခြင်း

new Map() 方法

可以通过将数组传递给 new Map() 构造函数来创建 Map:

အက်စ်တင်

// Map ကို ကိုယ်စားပြု
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

亲自试一试

Map.get()

အသုံးပြု နိုင် get() 方法获取 Map 中键的值:

အက်စ်တင်

fruits.get("apples");

亲自试一试

Map.set()

အသုံးပြု နိုင် set() 方法向 Map 添加元素:

အက်စ်တင်

// Map ကို ကိုယ်စားပြု
const fruits = new Map();
// 设置 Map 值
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);

亲自试一试

set() 方法也可以用于更改现有的 Map 值:

အက်စ်တင်

fruits.set("apples", 500);

亲自试一试

Map.size

size 属性返回 Map 中元素的数量:

အက်စ်တင်

fruits.size;

亲自试一试

Map.delete()

delete() 方法移除 Map 中的一个元素:

အက်စ်တင်

fruits.delete("apples");

亲自试一试

Map.clear()

clear() 方法移除 Map 中的所有元素:

အက်စ်တင်

fruits.clear();

亲自试一试

Map.has()

如果 Map 中存在某个键,has() 方法返回 true:

အက်စ်တင်

fruits.has("apples");

亲自试一试

尝试以下代码:

fruits.delete("apples");
fruits.has("apples");

亲自试一试

Map.forEach()

forEach() 方法为 Map 中的每个键值对调用回调函数:

အက်စ်တင်

// စာရင်းအပိုင်းများ စာရင်း
let text = "";
fruits.forEach(function(value, key) {
  text += key + ' = ' + value;
});

亲自试一试

Map.entries()

entries() 方法返回一个包含 Map 中 [key, value] 对的迭代器对象:

အက်စ်တင်

// စာရင်းအပိုင်းများ စာရင်း
let text = "";
for (const x of fruits.entries()) {
  text += x;
}

亲自试一试

Map.keys()

keys() သုံးစွဲသည့် တိကျသော အချက်အလက် သုံးစွဲသည့် စကားလုံးများ စာရင်း

အက်စ်တင်

// ကိုးကွယ်သည့် စကားလုံးများ စာရင်း
let text = "";
for (const x of fruits.keys()) {
  text += x;
}

亲自试一试

Map.values()

values() ဘက်ဒ်စ် ဘက်တင် က Map အပေါ် ကို အစားထိုး

အက်စ်တင်

// အစိုးရ အား စာရင်းလုံး ပြုလုပ်
let text = "";
for (const x of fruits.values()) {
  text += x;
}

亲自试一试

အသုံးပြု နိုင် values() ဘက်ဒ်စ် ဘက်တင် က Map အပေါ် ကို ပေါင်းစပ်

အက်စ်တင်

// အစိုးရ အား အပေါ်ထား ပြီး အရေအတွက် ပေါင်းစပ်
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

亲自试一试

အစိုးရ အား အသုံးပြု

အကြောင်းကြားချက်Map က အစိုးရ အား အသုံးပြု နိုင်သည် ကို အဓိက ရှိသည်

အက်စ်တင်

// အစိုးရ ကို ကိုယ်စားပြု
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Map ကို ကိုယ်စားပြု
const fruits = new Map();
// Map ကို အသစ် အစိုးရ ပြုလုပ်
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

亲自试一试

အကြောင်းကြားချက်ကြောင်းကို အစိုးရ အား ပြန်လည်ပေးသည် (apples) အချက်အလက် ကို အစိုးရ အား ပြန်လည်ပေးသည် ("apples")

အက်စ်တင်

fruits.get("apples"); // အဆိုပါ အသုံးပြု မရသည်

亲自试一试

JavaScript Map.groupBy() ပြုလုပ်ခဲ့သည်

ES2024 က ဂျာမိုက်စ် ကို Map.groupBy() ဘက်ဒ်စ် ဘက်တင်

Map.groupBy() ဘက်ဒ်စ် ဘက်တင် က အသုံးပြု ပြီး အပိုင်းစက် ကို အုပ်ချုပ်ကြောင်း ပြန်လည်ပေးသည်။

Map.groupBy() ဘက်ဒ်စ် ဘက်တင် မှာ အစိုးရ မပြောင်းလဲပါ။

အက်စ်တင်

// စက်တင် အသင်း ကို
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// အုပ်ချုပ်ကြောင်း အသုံးပြု
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// အရေအတွက် အုပ်ချုပ်ကြောင်း
const result = Map.groupBy(fruits, myCallback);

亲自试一试

浏览器支持

Map.groupBy() 是 ES2024 的特性。

自 2024 年 3 月起,新浏览器均支持该特性:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
2023 年 9 月 2023 年 9 月 2023 年 10 月 2024 年 10 月 2023 年 5 月

警告:

ES2024 特性相对较新。

旧版浏览器可能需要替代代码(Polyfill)。

Object.groupBy() 与 Map.groupBy() 的区别

Object.groupBy()Map.groupBy() 的区别在于:

Object.groupBy() 将元素分组到 JavaScript 对象中。

Map.groupBy() 将元素分组到 Map 对象中。

完整的 Map 参考手册

如需完整参考,请访问我们的:ဂျေဟိုစ် မှုန် စာရင်း

该手册包含所有 Map 属性和方法的描述和实例。