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,前面被删除了

  

原文地址:https://www.cnblogs.com/lianghua190430/p/10812394.html

时间: 2024-11-13 04:22:16

javascript中的Set和Map数据结构的相关文章

JavaScript中的Array和Map集合对象

JavaScript中的Array和Map集合对象 1.Array 用于在单个变量中存储多个值 创建 new Array(); new Array(size); new Array(element0, element1, ..., elementn); 长度 arr.length;设置或返回数组中元素的数目. 赋值 var arr = new Array(); arr[0] = '555'; arr[1] = '666'; 遍历 arr.forEach( function(a){ documen

ES6中的Set、Map数据结构

Map.Set都是ES6新的数据结构,他们都是新的内置构造函数.也就是说typeof的结果,多了两个. 他们是什么:  Set是不能重复的数组.    Map是可以任何东西当做键的对象: ES6 提供了新的数据结构 Set.它类似于数组,但是Set成员的值都是唯一的,没有重复的值. let m = new Set(); m.add(1); m.add(2); m.add(3); m.add(3); m.add(3); m.add(4); m.add(5); console.log(m); 集合中

javascript中的set和map

set与数学中集合的定义一样 具有互异性和无序性(没有索引) 重复元素在Set中自动被过滤: var s = new Set([1, 2, 3, 3, '3']); s; // Set {1, 2, 3, "3"} *类似python中的集合 map是一组键值对: var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]); m.get('Michael'); // 95 *类似python中的字典

javaScript中的 Set 和 Map

小结 什么是Set 和 Map Set 和 Map 的方法和相关 weakSet 和 weakMap 什么是 Set 和 Map 这两个就是 Es6 新增的两种 特殊的 数据集合, 以前只有一种 数组, 现在怎加了两种特殊的 Set 特殊在会自动去重, Map 是键值对集合 但是 键可以是 任意类型 Set 和 Map 相关内容 1. Set 创建属性和方法 let set = new Set() set.add('1'), set.add(1) set.add(1) console.log(s

javascript与jQuery的each,map回调函数参数顺序问题

<script> var arr = [2,3,6,7,9]; //javascript中的forEach 和 map方法 arr.forEach(function(value,index){//(值,索引) console.log(value); }); arr.map(function(value,index){//(值,索引) console.log(value); }); //jQuery的 each map方法 $(arr).each(function(index,value){//

javascript中使用Map

mis.comm.js.Map = function() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { return this.elements.length; } //推断MAP是否为空 this.isEmpty = function() { return (this.elements.length < 1); } //删除MAP全部元素 this.clear = function() { this.el

由实现JavaScript中的Map想到的

项目中要用到JavaScript中的Map数据类型,它不像JDK那样有自带的,怎么办?搜了找到一个不错的(http://darkmasky.iteye.com/blog/454749).用这个可以满足项目中要求.在找的过程中,发现这么个轻量级的实现.http://www.iteye.com/topic/196610帖子中,二楼myy的回复内容.应该说这个简单地实现可以满足我的一些需求,但它少了size方法. 在这个简单实现的基础上,自己能不能加一个size方法呢?而不地通过封装Array那样的重

javascript中模拟实现java语言中的map

//javascript中模拟实现java语言中的map 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript"> //private var obj={};//空的对象容器,用于承装键值对 function Map() { //put方法 th

JavaScript中模拟实现Java的集合类Map的常用方法

JavaScript中模拟实现Java的集合类Map的常用方法 (function Map(){ var size = 0, map = {}, strundefined; function MapCache() { } MapCache.prototype.put = function (key, value){ if ( key === null || key === undefined){ throw new Error(" null or undefined is not a illeg