javascript中的Set和Map数据结构
Set数据结构
类似数组,所有的数据都是唯一的,没有重复值,它本身是一个构造函数
size 数据长度
add() 添加一个数据
delete() 删除一个数据
has() 查找一个数据
clear() 删除所有数据
//重复的数据会被删除
let set = new Set([1,1,2,3,4]);
console.log(set)
console.log(set.size)//4 //添加
console.log(set.add(5));//Set(5) {1, 2, 3, 4, 5} //删除
console.log(set.delete(1));//成功返回true
console.log(set);//Set(4) {2, 3, 4, 5} //查找数据
console.log(set.has(2));//找到返回true
console.log(set.has('a'));//false //删除数据
console.log(set.clear());//undefined
console.log(set)//Set(0) {}
=======================================================================================================================================
Map数据结构
类似于对象,键值对的集合,所有的数据都是唯一的,不会重复
每条数据都要放在一个数组中,它本身是一个构造函数
size 数据的长度
set() 添加一条数据
delete() 删除一条数据
get() 获取一条数据
has() 查找某条数据
clear() 删除所有数据
var map = new Map([['name','张三'],['age',30],['id',155]]);
console.log(map)//Map(3) {"name" => "张三", "age" => 30, "id" => 155} /*添加数据*/
console.log(map.set('sex','男'));//Map(4) {"name" => "张三", "age" => 30, "id" => 155, "sex" => "男"} //删除一条数据
console.log(map.delete('name'));//true
console.log(map);//Map(3) {"age" => 30, "id" => 155, "sex" => "男"} //获取一条数据
console.log(map.get('age'));//30 //查找一条数据
console.log(map.has('id'));//true
console.log(map.has('name'));//false,前面被删除了
javascript中的Set和Map数据结构的更多相关文章
- ECMAScript 6中的Set和Map数据结构
一.Set 基本用法: Set本身是一个构造函数,用来生成Set数据结构.Set函数可以接受一个数组作为参数用来初始化. const arr = new Set([2,2,3,3,4,4,5,8]); ...
- ES6中的Set与Map数据结构
本文实例讲述了ES6学习笔记之Set和Map数据结构.分享给大家供大家参考,具体如下: 一.Set ES6提供了新的数据结构Set.类似于数组,只不过其成员值都是唯一的,没有重复的值. Set本身是一 ...
- ES6中的Set、Map数据结构
Map.Set都是ES6新的数据结构,他们都是新的内置构造函数.也就是说typeof的结果,多了两个. 他们是什么: Set是不能重复的数组. Map是可以任何东西当做键的对象: ES6 提供 ...
- C#中使用Dictionary实现Map数据结构——VC编程网
转载自: http://blog.51cto.com/psnx168 在VC中使用过CMap以及在Java中使用过Map的朋友应该很熟悉,使用Map可以方便实现基于键值对数据的处理,在C#中,你就需要 ...
- 在 JavaScript 中 ["1","2","3"].map(parseInt) 为何返回不是 [1,2,3] 却是 [1,NaN,NaN]?
这个问题我是希望有很多人可以一起交流的: 我在 http://blog.csdn.net/justjavac/article/details/19473199#t0 上看到了比较详细的解释, 但是具体 ...
- Javascript中的对象和原型(一)(转载)
面向对象的语言(如Java)中有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,JavaScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. 要了解面向对象,首 ...
- javascript与jQuery的each,map回调函数参数顺序问题
<script> var arr = [2,3,6,7,9]; //javascript中的forEach 和 map方法 arr.forEach(function(value,index ...
- es6入门7--Set Map数据结构
本文作为ES6入门第十三章的学习整理笔记,可能会包含少部分个人的理解推测,若想阅读更详细的介绍,还请阅读原文ES6入门 一.set数据结构 1.set不接受重复值 ES6新增了Set构造函数用于创建s ...
- 掌握javascript中的最基础数据结构-----数组
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...
随机推荐
- 【leetcode刷题笔记】Flatten Binary Tree to Linked List
Given a binary tree, flatten it to a linked list in-place. For example,Given 1 / \ 2 5 / \ \ 3 4 6 T ...
- Oracle修改字段名、字段数据类型
语句:alter table tableName rename column oldCName to newCName; -- 修改字段名alter table tableName modify (c ...
- IE input 去掉文本框的叉叉和密码输入框的眼睛图标
::-ms-clear, ::-ms-reveal{display: none;}
- 优秀开源项目之二:流媒体直播系统Open Broadcaster Software
Open Broadcaster Software(OBS)是一款用于音视频录制和直播的免费开源软件.可以轻松部署到多种平台,目前支持Windows.MAC和Linux. 特性: 1.高性能的实时视频 ...
- pip3 更改安装源
经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的 ...
- DSP基础
CCS V5的使用 CCS安装与设置
- Linux系统中‘dmesg’命令处理故障和收集系统信息的7种用法
转自:https://linux.cn/article-3587-1.html 'dmesg'命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构.cpu.挂载的硬件,RAM等多个运行 ...
- smbpasswd和pdbedit
samba用户管理: smbpasswd :smbpasswd命令属于samba套件,能够实现添加或删除samba用户和为用户修改密码. smbpasswd [options] USERNAME -a ...
- 解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题
刚装好SSMS 17.1准备体验,弹出: 一番搜索,普遍办法都是安装VS2015独立shell.删除某个注册表项什么的,没用,首先这个shell我是装了的,然后也没有那个注册表项.我自己尝试过重装sh ...
- HBase 二级索引与Coprocessor协处理器
Coprocessor简介 (1)实现目的 HBase无法轻易建立“二级索引”: 执行求和.计数.排序等操作比较困难,必须通过MapReduce/Spark实现,对于简单的统计或聚合计算时,可能会因为 ...