Set集合和Map集合

2023-05-16

Set集合

用于存放不重复的数据,通过构造函数的形式 参数必须是一个可迭代对象

创建Set对象

const s1 = new Set("aabbccdef");
console.log(s1);

在这里插入图片描述

Set集合方法

  1. add(),添加一个数据
  2. has(),判断数据是否存在,存在返回true
  3. delete(),删除数据,删除成功返回true
  4. clear(),清空集合
  5. size,这个是属性,返回的是集合长度,只能读不能改
const s1 = new Set('aabbccdef');
s1.add('g');
console.log(s1);//{"a","b","c","d","e","f","g"}
console.log(s1.has('g'));//true
//console.log(s1.delete('g'));//true
console.log(s1.size);//6
s1.clear();
console.log(s1.size);//0

Map集合

以键值对形式进行存储,键名不能重复
它存储有三个注意点:

  1. 键名只能是字符串
  2. 获取对象的数量不方便
  3. 键名容易和原型上的方法名发生冲突

创建Map对象
参数传递的形式一般为二维数组的形式,数组的子数组只能有两项,第一项为键名,第二项为值

const map = new Map([
    ["a", 123],
    ["b", 456],
    ["c", 789]
]);
console.log(map);

在这里插入图片描述
Map集合方法

  1. set(),添加数据,两个参数[键名,键值]
  2. get(),获取数据,参数是键名,返回键值
  3. delete(),删除数据,删除成功返回true
  4. clear(),清空集合
  5. has(),判断数据是否存在,存在返回true
const map = new Map([
    ["a", 123],
    ["b", 456],
    ["c", 789]
]);
map.set('d', 111);
console.log(map.get('a'));//123
console.log(map.size);//4

其它的方法和set集合一样

Map集合方法的参数需要注意

  1. set方法是两个参数,第一个参数是键名,第二个参数是键值
  2. get方法参数是传入的键名,返回的是键值,没有键名返回的是undefined,和has方法不一样
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Set集合和Map集合 的相关文章

  • 如何使用mysql将查询结果存储在变量中

    SET v1 SELECT COUNT FROM user rating SELECT v1 当我执行此查询时set变量显示此错误 Error Code 1064 You have an error in your SQL syntax c
  • 在迭代期间更改 HashMap 键

    是否可以在迭代过程中更改同一个 HashMap 实例的键 因为地图条目集没有方法entry setKey 现在我能想到的是创建另一个 HashMap MultipartParsingResult parsingResult parseReq
  • 如何在Python中将集合转换为列表?

    我正在尝试将 Python 2 6 中的集合转换为列表 我正在使用这个语法 first list 1 2 3 4 my set set first list my list list my set 但是 我得到以下堆栈跟踪 Tracebac
  • 同构弦

    给定两个字符串 s 和 t 确定它们是否同构 如果 s 中的字符可以替换得到 t 则两个字符串是同构的 所有出现的字符都必须替换为另一个字符 同时保留字符的顺序 任何两个字符都不能映射到同一个字符 但一个字符可以映射到其自身 例如 给定 e
  • java.util.Set添加和删除方法签名差异

    当我在JDK中看到Set java文件时 p This interface is a member of the a href docRoot technotes guides collections index html Java Col
  • 观察 ES6 映射和集的变化

    有什么方法可以观察 ES6 地图和集合的添加和删除吗 对象观察 https developer mozilla org en US docs Web JavaScript Reference Global Objects Object ob
  • TINYMCE 设定焦点...只是行不通

    我试过了 tinyMCE execInstanceCommand content mceFocus 我试过了 tinyMCE execCommand mceFocus false content 它们似乎都不起作用 好吧 我陷入了同样的问题
  • 从 Set 中检索“规范值”,其中 T 具有自定义 equals()

    我有一个class Foo这会覆盖equals and hashCode 适当地 我想也想使用HashSet
  • 如何在单个 SELECT 查询中设置多个 T-SQL 变量?

    我有3个变量 testid sampleid and clientid 我该如何设置 sampleid and clientid通过执行此查询一次 SELECT sample sampleid client clientid FROM db
  • Delphi XE2:如何使用序数值 > 255 的整数集

    我想做的就是定义一组值可能高于 255 的整数 但我没有看到任何好的选择 例如 with MyObject do Visible Tag in 100 155 200 225 240 Works just fine but with MyO
  • 在 C++ 中将数组转换为集合

    有没有更简单的方法使用 C 将数组转换为集合而不是循环遍历其元素 最好使用标准模板库 对于所有标准库容器类型 请使用构造函数 http en cppreference com w cpp container set set std set
  • 如何在不更改 equals 和 hashcode 的情况下插入集合

    我正在寻找建议 我有一个Person具有字符串firstName和字符串lastName的类 当我试图插入具有相同字符串的列表值时 例如 set add new Person firstName lastName set add new P
  • 获取 3 个列表之间的差异

    我正在研究列表的差异 gt gt a 1 2 3 gt gt b 2 4 5 gt gt c 3 2 6 两组之间的对称差异可以使用以下方法完成 gt gt z set a symmetric difference set b gt gt
  • 如何在 C++ 中前向声明 std::set?

    为了加快编译过程 我正在尝试简化我的头文件MyClass hpp通过前向声明 STL 容器 例如 std vector std set But std set can NOT在以下代码中进行前向声明 同时std vector can be
  • 如何将项目添加到 python 中的空集中

    我有以下程序 def myProc invIndex keyWord D for i in range len keyWord if keyWord i in invIndex keys D update invIndex query i
  • 集合推导式在 Pydev (Python) 上不起作用

    x for x in range 10 在 IDLE 上完美运行 但是当我在 eclipse 中尝试 使用 Pydev 插件 时 出现语法错误 未定义的变量 x 是因为 Pydev 不支持集合理解什么的吗 我该怎么做才能使这项工作成功 这只
  • Java HashSet 具有自定义相等标准? [复制]

    这个问题在这里已经有答案了 我一直在寻找类似于 Java TreeSet 在实例化时接收自定义比较器的能力 因此我不需要使用对象的默认相等 和哈希码 标准 我能想到的最接近的方法是将我的对象包装在一个私有的自定义类中 但这看起来很老套 这最
  • 在 python 中对自定义类执行集合操作

    我想将 Python 的内置 set 类与我创建的自定义类一起使用 如果我愿意 要创建包含自定义类实例的集合 我需要实现哪些函数才能执行测试 例如 set a set b 它可以开箱即用 但是 在某些情况下 过载是有意义的 eq https
  • 将 Set> 转换为 HashMap

    在我的代码中的某一时刻 我创建了一个Set
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s

随机推荐

  • 前端技术文档

    前端技术大纲 首先声明需要CSS xff0c html xff0c xff08 js xff09 技术可不不用太深但是必须会一点 1 vue vueCDNvue Clivue routervue loadervue api 所有方法vue
  • 英雄手游版教程

    Android教程 百度搜索 ourplay 翻墙注册 Google 或者 拳头 或者 facebook 账号启动游戏 IOS教程 下载加速器个人推荐 迅雷 因为其他的都要收费搜索下载英雄联盟启动游戏
  • vue component

    component Vue component 39 todoItem 39 template 96 lt p gt 这是一个代办项 lt p gt 96 lt div gt lt todo ttem gt lt div gt 当vue实例
  • vue监听对象的用法

    watch监听对象 data return obj name 34 JackMe 34 watch 39 obj 39 handler newValue oldValue console log newValue name oldValue
  • VSCODE无法使用cnpm

    这里写自定义目录标题 简单暴力 简单暴力 1 xff0c 右击VSCode图标 xff0c 选择以管理员身份运行 xff1b 2 xff0c 在终端中执行get ExecutionPolicy xff0c 显示Restricted xff0
  • Win10环境下不同版本WinGW切换

    因需要 xff0c 安装了不同版本的WinGW gcc xff0c 实际使用中遇到一些问题 xff0c 解决过程记录如下 xff1a 在使用BusMaster时需要4 8 1版本 xff0c 原本系统默认9 2 0 xff0c busmas
  • 【无标题】

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • expo优势

    优点一 xff1a 一条命令生成apk或者ipa文件 xff0c 方便发布到应用商店 优点二 xff1a 代码publish xff0c 应用内热更新 优点三 xff1a 比react native多出不少实用原生组件 xff0c 比如一些
  • C++一些常见问题

    关于赋值的疑问 1 编译器为每个类默认重载了赋值操作符 xff1b 2 默认的赋值操作符仅完成了浅拷贝 xff1b 3 当需要进行深拷贝时必须重载赋值操作符 xff1b 4 赋值操作符与拷贝构造函数有相同的存在意义 实例分析 xff1a s
  • 树莓派学习(二):更换镜像源以及安装虚拟环境miniforge3

    树莓派学习 xff08 二 xff09 xff1a 更换镜像源以及安装pytorch 步骤一 xff1a 更换镜像源步骤二 xff1a 下载前的准备2 1 原来numpy库的卸载 步骤三 xff1a 安装miniforge3 步骤一 xff
  • 3.1 python版MapReduce基础实战

    输入文件在你每次点击评测的时候 xff0c 平台会为你创建 xff0c 无需你自己创建 xff0c 只需要启动HDFS xff0c 编写python代码即可 第1关 xff1a 成绩统计 mapper py usr bin python3
  • 怎么获取li里面的内容

    获取li的内容 span class token tag span class token tag span class token punctuation lt span ul span span class token punctuat
  • 偏移量的概念

    span class token selector span span class token punctuation span span class token property padding span span class token
  • js中的二级联动

    省份市级城市联动 span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token pun
  • 页面跳转的几种方法

    location对象 href assgin跳转到另一个页面可以返回到原来的页面 location span class token punctuation span href span class token operator 61 sp
  • 学习JS基础部分一

    数据类型 分支结构 循环结构 数据类型 简单数据类默认值Number0BooleanfalseString Undefinedundefinednullnull 复杂数据类型默认值Array Object 分支结构 分支语句说明if 条件
  • 来,带你见识一下CT三维重建

    文 xff1a 北京协和医院放射科孙昊 来源 xff1a 从医开始 xff0c 协和八的奇妙临床笔记 相信各位同学在临床工作中 xff0c 已经接触到很多CT三维重建的图像了 xff0c 那么CT三维重建到底是个啥东东 xff1f 这个问题
  • 数组常用方法

    concat span class token keyword let span arr1 span class token operator 61 span span class token punctuation span span c
  • 深拷贝和浅拷贝

    浅拷贝和深拷贝的区别 浅拷贝是复制原数据的数据内容 xff0c 引用原数据的地址 xff1b 当改变复制之后的数据时 xff0c 原数据的数据内容也会被改变 xff0c 因为这是引用原来数据的地址 xff0c 改变的是原数据地址的数据内容
  • Set集合和Map集合

    Set集合 用于存放不重复的数据 xff0c 通过构造函数的形式 参数必须是一个可迭代对象 创建Set对象 span class token keyword const span s1 span class token operator 6