Matukio ya Map ya JavaScript

new Map() 方法

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

mada

// kuzengia Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

Jifunze tena

Map.get()

inaonekana kutumia: get() 方法获取 Map 中键的值:

mada

fruits.get("apples");

Jifunze tena

Map.set()

inaonekana kutumia: set() 方法向 Map 添加元素:

mada

// kuzengia Map
const fruits = new Map();
// 设置 Map 值
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);

Jifunze tena

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

mada

fruits.set("apples", 500);

Jifunze tena

Map.size

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

mada

fruits.size;

Jifunze tena

Map.delete()

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

mada

fruits.delete("apples");

Jifunze tena

Map.clear()

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

mada

fruits.clear();

Jifunze tena

Map.has()

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

mada

fruits.has("apples");

Jifunze tena

尝试以下代码:

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

Jifunze tena

Map.forEach()

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

mada

// 列出所有条目
let text = "";
fruits.forEach(function(value, key) {
  text += key + ' = ' + value;
});

Jifunze tena

Map.entries()

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

mada

// 列出所有条目
let text = "";
for (const x of fruits.entries()) {
  text += x;
}

Jifunze tena

Map.keys()

keys() 方法返回一个包含 Map 中键的迭代器对象:

mada

// 列出所有键
let text = "";
for (const x of fruits.keys()) {
  text += x;
}

Jifunze tena

Map.values()

values() kitendo kinatoa kipengele cha kuzingatia thamani zote kwenye Map:

mada

// kuzingatia thamani zote
let text = "";
for (const x of fruits.values()) {
  text += x;
}

Jifunze tena

inaonekana kutumia: values() kitendo kinasoma thamani za Map:

mada

// kusoma ukubwa wa kila thamani
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

Jifunze tena

Orodha kama cheo

Msaada:inabuni ya Map inaonekana kwa kuzengia orodha kama cheo.

mada

// kuzengia orodha
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// kuzengia Map
const fruits = new Map();
// kuingiza element mpya kwenye Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

Jifunze tena

Kuwa na macho:cheo ni kina (apples), hivyo ni ujumbe ("apples"):

mada

fruits.get("apples"); // inaruhusiwa

Jifunze tena

JavaScript Map.groupBy()

ES2024 kinazengia JavaScript Map.groupBy() kitendo.

Map.groupBy() kitendo kinahusisha kugawaza element ya orodha kwa ujumbe wa kirefu wa kugawaza.

Map.groupBy() kitendo kinakutaka orodha orodha ya kuzingatia.

mada

// kuzengia taarifa kwa orodha
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// muhimu wa kugawaza
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// kufaa kwa namba
const result = Map.groupBy(fruits, myCallback);

Jifunze tena

Mwongozo wa kivininda

Map.groupBy() Ni jicho la ES2024.

Kuanzia Machi 2024, kila kivininda kirefu kinakubaliwa kwa uwanja huu:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
Septemba 2023 Septemba 2023 Oktoba 2023 Oktoba 2024 Mei 2023

Tahadhari:

Jicho la ES2024 kinahitaji muda wa kumtaarifu.

Mengine wa kawaida ya kusimama ya kivininda kimekuwa inahitaji kichwako (Polyfill).

Kadifu ya Object.groupBy() na Map.groupBy()

Object.groupBy() na Map.groupBy() Kadifu ni:

Object.groupBy() Kugawaza mabaki kwenye kipimo cha JavaScript.

Map.groupBy() Kugawaza mabaki kwenye kipimo cha Map.

Mwongozo wa Map kamili

Kwa maelezo kamili, tafadhali nia:Mwongozo wa Map ya JavaScript.

Mwongozo huu inaonekana na maelezo na mifano ya kila mabaki ya Map na matukio.