JavaScript Map

分类: 365bet手机客户端下载 发布时间: 2026-01-11 11:28:18 作者: admin 阅读: 5308
JavaScript Map

JavaScript Map

Map 保存键值对,其中键可以是任何数据类型。

Map 会记住键的原始插入顺序。

Map 提供表示映射大小的属性。

Map 方法

方法

描述

new Map()

创建新的 Map 对象。

set()

为 Map 中的键设置值。

get()

获取 Map 对象中键的值。

clear()

从 Map 中移除所有元素。

delete()

删除由某个键指定的 Map 元素。

has()

如果键存在于 Map 中,则返回 true。

forEach()

为 Map 中的每个键/值对调用回调函数。

entries()

返回迭代器对象,其中包含 Map 中的 [key, value] 键值对。

keys()

返回迭代器对象,其中包含 Map 中的键。

values()

返回迭代器对象,其中包含 Map 中的值。

属性

描述

size

返回 Map 元素的数量。

如何创建 Map

您可以通过以下方式创建 JavaScript 映射:

将数组传递给 new Map()

创建映射并使用 Map.set()

new Map()

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

实例

// 创建一个 Map

const fruits = new Map([

["apples", 500],

["bananas", 300],

["oranges", 200]

]);

亲自试一试

Map.set()

例子 1

您也可以使用 set() 方法将元素添加到 Map 中:

// 创建一个 Map

const fruits = new Map();

// 设置 Map 的值

fruits.set("apples", 500);

fruits.set("bananas", 300);

fruits.set("oranges", 200);

亲自试一试

例子 2

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

fruits.set("apples", 500);

亲自试一试

Map.get()

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

实例

fruits.get("apples"); // 返回 500

亲自试一试

Map.size

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

实例

fruits.size;

亲自试一试

Map.delete()

delete() 方法删除 Map 元素:

实例

fruits.delete("apples");

亲自试一试

Map.clear()

clear() 方法从 Map 中删除所有元素:

实例

fruits.clear();

亲自试一试

Map.has()

例子 1

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

fruits.has("apples");

亲自试一试

例子 2

请试试这个:

fruits.delete("apples");

fruits.has("apples");

亲自试一试

Map 是对象

例子 1

typeof 返回 object:

// 返回 object:

typeof fruits;

亲自试一试

例子 2

instanceof Map 返回 true:

// 返回 true:

fruits instanceof Map;

亲自试一试

JavaScript Object 对比 Map

JavaScript 对象与映射之间的差异:

Object(对象)

Map(映射)

不可直接迭代

可直接迭代

无 size 属性

有 size 属性

键必须是字符串(或符号)

键可以是任何数据类型

键不排序

键按插入排序

有默认键

没有默认键

Map.forEach()

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

实例

// 列出所有条目

let text = "";

fruits.forEach (function(value, key) {

text += key + ' = ' + value;

})

亲自试一试

Map.entries()

entries() 方法返回一个带有 Map 中 [key,values] 的迭代器对象:

实例

// 列出所有条目

let text = "";

for (const x of fruits.entries()) {

text += x;

}

亲自试一试

Map.keys()

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

实例

// 列出所有键

let text = "";

for (const x of fruits.keys()) {

text += x;

}

亲自试一试

Map.values()

例子 1

values() 方法返回一个迭代器对象,其中包含 Map 中的值:

// 列出所有值

let text = "";

for (const x of fruits.values()) {

text += x;

}

亲自试一试

例子 2

您可以使用 values() 方法对 Map 中的值求和:

// 对所有值求和

let total = 0;

for (const x of fruits.values()) {

total += x;

}

亲自试一试

将对象用作键

例子 1

能够将对象用作键是 Map 的一项重要特性。

// 创建对象

const apples = {name: 'Apples'};

const bananas = {name: 'Bananas'};

const oranges = {name: 'Oranges'};

// 创建 Map

const fruits = new Map();

// Add new Elements to the Map

fruits.set(apples, 500);

fruits.set(bananas, 300);

fruits.set(oranges, 200);

亲自试一试

例子 2

请记住:键是对象(apples),而不是字符串(“apples”):

fruits.get("apples"); // 返回 undefined

亲自试一试

Browser Support

所有浏览器都支持 JavaScript 映射,除了 Internet Explorer :

Chrome

Edge

Firefox

Safari

Opera

支持

支持

支持

支持

支持

相关文章

挖到宝了,这2款浏览器工具多看小说自由,没踩雷
switch续航版发售日期 秒懂:switch续航版和正常版区别
大发棋牌官网版本
山什么野什么填成语