JS学习——Map 对象、Set 对象

学习内容来源:JavaScript Map 对象JavaScript Set 对象

Map 对象

  • Map 对象存有键值对,其中的键可以是任何数据类型。
  • Map 对象记得键的原始插入顺序。
  • Map 对象具有表示映射大小的属性。

Map 对象的方法和属性

属性/方法 描述
new Map() 创建新的 Map 对象。
set() 为 Map 对象中的键设置值。
get() 获取 Map 对象中键的值。
entries() 返回 Map 对象中键/值对的数组。
keys() 返回 Map 对象中键的数组。
values() 返回 Map 对象中值的数组。
clear() 删除 Map 中的所有元素。
delete() 删除由键指定的元素。
has() 如果键存在,则返回 true。
forEach() 为每个键/值对调用回调。
size 返回 Map 中元素的数量。

创建 Map 对象

能够使用对象作为键是 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);


// 可以将 Array 传递给 new Map() 构造函数,创建新的 Map
const fruits = new Map([
  [apples, 500],
  [bananas, 300],
  [oranges, 200]
]);

获取键的值

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

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

删除 Map 元素

delete() 方法删除 Map 元素

fruits.delete(apples);  // 返回 true

移除 Map 所有元素

Map.clear() 从 Map 中移除所有元素

fruits.clear();

判断 Map 存在键

Map 中存在键,则 Map.has() 返回 true

fruits.has(apples); // 返回 false,上面的 fruits.delete(apples) 已经把以 apples 为键的元素删除了

Set 对象

  • Set 是唯一值的集合。
  • 每个值在 Set 中只能出现一次。
  • 一个 Set 可以容纳任何数据类型的任何值。

注意:如果您添加相等的元素,则只会保存第一个元素。

Set 对象的方法和属性

属性/方法 描述
new Set() 创建新的 Set 对象。
add() 向 Set 添加新元素。
clear() 从 Set 中删除所有元素。
delete() 删除由其值指定的元素。
entries() 返回 Set 对象中值的数组。
has() 如果值存在则返回 true。
forEach() 为每个元素调用回调。
keys() 返回 Set 对象中值的数组。
values() 与 keys() 相同。
size 返回元素计数。

创建 Set

// 创建新的变量
const a = "a";
const b = "b";
const c = "c";

// 创建 Set
const letters = new Set();

// 把变量的值添加到 Set
letters.add(a);
letters.add(b);
letters.add(c);

// 或者向 Set 直接添加一些值
letters.add("a");
letters.add("b");
letters.add("c");

// 将 Array 传递给 new Set() 构造函数
const letters = new Set(["a","b","c"]);
posted @ 2022-03-04 14:57  一只离离离  阅读(185)  评论(0编辑  收藏  举报