首页 > 编程语言 >JavaScript中的new map()和new set()使用详细(new map()和new set()的区别)

JavaScript中的new map()和new set()使用详细(new map()和new set()的区别)

时间:2024-07-15 11:53:37浏览次数:17  
标签:Map Set console log map set new setData

Map 对象是一种键值对的集合,其中的键是唯一的,值可以重复。
new Set(): 在JavaScript中, new Set() 是用来创建一个新的 Set 对象的语法。Set 对象是一种集合,其中的值是唯一的,没有重复的值。 new Set() 可以用来创建一个空的 Set 对象,在创建时传入一个数组或类数组对象,Set 会自动去除重复的值。
new Map()
一、new Map() 基本特性
new Map() 是用来创建一个新的 Map 对象的构造函数。Map 对象保存键值对,并记住键的原始插入顺序。这意味着你可以迭代 Map 对象,按键的插入顺序获取键值对。

Map 对象与普通的对象(使用字符串作为键)不同,因为 Map 可以使用任何类型作为键(包括函数、对象或任何原始值),而不仅仅是字符串或符号。

二、相关方法
1. set(key, value) : 向 Map 对象中添加一个键值对。
2. get(key) : 获取指定键对应的值。
3. has(key) : 判断 Map 对象中是否存在指定的键。
4. delete(key) : 删除指定键及其对应的值。
5. size : 返回 Map 对象中键值对的数量。
6. clear() : 清空 Map 对象中的所有键值对。
7. keys() : 返回一个包含 Map 对象中所有键的迭代器。
8. values() : 返回一个包含 Map 对象中所有值的迭代器。
9. entries() : 返回一个包含 Map 对象中所有键值对的迭代器。
三、基本使用

// 创建一个新的Map对象  
let myMap = new Map();  
  
// 1、添加键值对  
myMap.set('name', 'Alice');  
myMap.set('age', 25);  
  
// 2、获取值  
console.log(myMap.get('name')); // 输出: "Alice"  
  
// 3、检查键是否存在  
console.log(myMap.has('age')); // 输出: true  
  
// 4、删除键值对  
myMap.delete('name');  
console.log(myMap.has('name')); // 输出: false  
 
// 5、获取Map的大小  
console.log(myMap.size); // 输出: 1  
  
// 6、清空Map  
myMap.clear();  
console.log(myMap.size); // 输出: 0  
  
// 7、遍历键  
for (let key of myMap.keys()) {  
  console.log(key); // 输出: "age"  
}  
  
// 8、遍历值  
for (let value of myMap.values()) {  
  console.log(value); // 输出: 25  
}  
  
// 9、遍历键值对  
for (let [key, value] of myMap.entries()) {  
  console.log(`Key: ${key}, Value: ${value}`); // 输出: Key: age, Value: 25  
}  

new Set()
一、new Set() 基本特性
唯一性:在 Set 中,每个值只出现一次,可以实现简单的数组去重,即使是两个完全相同的对象,它们在 Set 中也只会被存储一次。
无序性:Set 中的元素没有特定的顺序。
二、相关方法
add(value): 向 Set 对象中添加一个值。如果值已存在,则不会进行任何操作。
delete(value): 从 Set 对象中删除一个值。如果值存在,则删除并返回 true;否则,返回 false。
has(value): 返回一个布尔值,表示 Set 对象中是否包含指定的值。
clear(): 清空 Set 对象,移除所有元素。
三、基本使用

let setData = new Set();  
  
// 添加元素  
setData .add(1);  
setData .add(2);  
setData .add(3); 
console.log(setData); // setData { 1, 2 ,3 }  
 
// 删除元素  
setData.delete(2);  
console.log(setData); // Set { 1, 3 }  
 
  
// 检查元素是否存在  
console.log(setData.has(1)); // true  
console.log(setData.has(4)); // false  
  
// 遍历元素  
setData.forEach(value => console.log(value));  
// 输出:  
// 1  
// 3
 
// 清空集合  
setData.clear();  
console.log(setData.size);    // 输出: 0,因为集合已被清空
 
 
//在创建 Set 时直接传入一个可迭代对象(如数组),来初始化 Set:
let set = new Set([1, 2, 2, 3, 4, 4]);  
//简单数组去重
console.log(set); // Set { 1, 2, 3, 4 }

 

标签:Map,Set,console,log,map,set,new,setData
From: https://www.cnblogs.com/hellofangfang/p/18302897

相关文章

  • Improving News Recommendation via Bottlenecked Multi-task Pre-training论文阅读笔
    ImprovingNewsRecommendationviaBottleneckedMulti-taskPre-training论文阅读笔记Abstract现存的问题:​ 现有的PLM大多是在大规模通用语料库上预先训练的,并没有专门用于捕捉新闻文章中的丰富信息。因此,它们生成的新闻嵌入信息可能不足以表示新闻内容或描述新闻之间的关......
  • Windows Server 2022 中SQL查询报错:error setting locale info for codepage 65001(取
    解决问题:刚开始我以为是SQLServer升级过程中遇到错误,后面仔细检查错误日志,发现我忽略了一个重要的错误信息“Thecodepage65001isnotsupportedbytheserver.”,codepage65001对应的编码为UTF-8,而数据库排序规则为Chinese_PRC_CI_AS,对应的codepage为936。原来这台SQLSe......
  • 3. set 的使用
    3.set的使用因为在实际工程中,我们不会将具体文件全部写出来,这是一件费力不讨好的事情。3.1set定义变量在CMake文件中,默认的变量数据类型是字符串,如果要用别的类型,需要进行转换在上面的例子中一共提供了5个源文件,假设这5个源文件需要反复被使用,每次都直接将它们的......
  • 去重技巧:图片怎么查重?4个图片查重方法大公开!(2024 New)
    照片是保存记忆的绝佳工具。它们是终极时间胶囊,能够唤起久违的记忆和情感。然而,随着照片数量的迅速增长,我们电脑的存储空间也被它们占据得满满当当。这一大部分责任归咎于我们设备上无数的重复照片。这些重复照片由于我们的疏忽而产生,因我们的无所谓而滞留在电脑中。摆脱这些重......
  • 每日一问,请你谈一谈你对HashMap的理解。
    HashMap底层是数组加链表的结构,在jdk1.8之后又加入了红黑树。当添加一个元素(key-value)时,首先计算键值对的key的hash值,以此来确定插入到数组中的位置;允许有null值和null键。如果根据hash值确定的数组位置中已经存在元素,就添加到同一个hash值的元素的后面,于是形成了链表;Entry也就......
  • CF1261F Xor-Set
    一个不太复杂的做法。首先我们可以考虑将每一段区间拆成\(\logV\)级别的形如\([p,p+2^q)\)个段,其实就是可以理解为一段前缀加上一段自由段,然后我们考虑将\(A,B\)进行合并合并完之后的每一段也是长成刚刚那样,但是这样子合并我们得到的段有\(\mathcal{O}(n^2\log^2V)\)个......
  • MapReduce简述
    概念面向批处理的分布式计算框架;一种编程模型,分为Map(映射)和Reduce(化简)阶段核心思想分而治之,并行计算;移动计算而非移动数据特点计算跟着数据走良好的扩展性(计算能力随着节点数增加近似线性递增)高容错适合海量数据的离线批处理降低了分布式编程的门槛不适合的场景......
  • 13 - matlab m_map地学绘图工具基础函数 - 介绍创建管理颜色映射的函数m_colmap和轮廓
    13-matlabm_map地学绘图工具基础函数-介绍创建管理颜色映射的函数m_colmap和轮廓图绘制颜色条的函数m_contfbar0.引言1.关于m_colmap2.关于m_contfbar3.结语0.引言  本篇介绍下m_map中用于创建和管理颜色映射函数(m_colmap)和为轮廓图绘制颜色条的函......
  • 分库分表策略深入解析:基于范围(Range)、基于哈希(Hash)以及基于映射表(Mapping Table)
    目录前言   1.基于范围的分库分表(Range)2.基于哈希的分库分表(Hash)3.基于映射表的分库分表(MappingTable)前言     分库分表是数据库优化中的一项重要技术,它通过将数据分散到多个数据库或表中,以提高系统的处理能力和响应速度。本篇将详细解析三种常见的分库......