首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS基础:Map和Set对象

本文是 重温基础 系列文章第十一篇。 今日感受:注意身体,生病花钱又难受。 本章节复习JSMap和Set对象,是个集合。...前置知识: Map和Set对象是在ES6中被引入,作为一种由 key值标记数据容器。 Map和Set对象承载数据元素可以按照插入时顺序,被迭代遍历。...1 Set对象 介绍: Set数据结构类似数组,但所有成员值唯一。 Set本身为一个构造函数,用来生成 Set数据结构,使用 add方法来添加新成员。...对象只能用字符串当做键,给开发带来很大限制,ES6增加 Map数据结构,使得各种类型值(包括对象)都可以作为键。...如果有非字符串键名,那么这个键名会被转成字符串,再作为对象键名。

12.3K31
您找到你想要的搜索结果了吗?
是的
没有找到

如何用Map对象创建Set对象

Java中Map和Set有不少相似之处。本文将分享一个把Map类转化成Set小技巧。...或许你已经知道,HashSet其实是一个披着Set方法外衣HashMap;同样,TreeSet其实也是一个披着Set方法外衣TreeMap。...后来我发现,Java 6中java.util.Collections类提供了一个newSetFromMap()方法,该方法能够基于指定Map对象创建一个新Set对象。...在创建这个Map对象时,K数据类型必须与你想要创建Set中元素数据类型一致;而V必须是Boolean类型,这是因为value字段用于标记该元素是否存在。 ?...当然,newSetFromMap()方法只能返回标准Set接口类型对象。如果你Map类有着更丰富接口(与标准Map接口相比),你还是需要自行封装实现对应Set类。

1.3K10

如何用Map对象创建Set对象

Java中Map和Set有不少相似之处。本文将分享一个把Map类转化成Set小技巧。...或许你已经知道,HashSet其实是一个披着Set方法外衣HashMap;同样,TreeSet其实也是一个披着Set方法外衣TreeMap。...后来我发现,Java 6中java.util.Collections类提供了一个newSetFromMap()方法,该方法能够基于指定Map对象创建一个新Set对象。...在创建这个Map对象时,K数据类型必须与你想要创建Set中元素数据类型一致;而V必须是Boolean类型,这是因为value字段用于标记该元素是否存在。 ?...当然,newSetFromMap()方法只能返回标准Set接口类型对象。如果你Map类有着更丰富接口(与标准Map接口相比),你还是需要自行封装实现对应Set类。

1.3K10

jsset和map区别_list和set

大家好,又见面了,我是你们朋友全栈君。 set与map区别 Map Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。...Map对象属性: size:返回Map对象中所包含键值对个数 Map对象方法: set(key, val): 向Map中添加新元素 get(key): 通过键值查找特定数值并返回 has(key...Set Set 对象允许你存储任何类型值,无论是原始值或者是对象引用。它类似于数组,但是成员值都是唯一,没有重复值。 Set 本身是一个构造函数,用来生成Set 数据结构。...Set函数可以接受一个数组(或者具有 iterable 接口其他数据结构)作为参数,用来初始化。 Set特殊值: Set 对象存储值总是唯一,所以需要判断两个值是否恒等。...{} {} 两个空对象指针不一样,所以会重复 Set实例对象属性: size:返回Set实例成员总数。

3K20

Redis:11---Set对象

集合类型 (Set) 是一个无序并唯一键值集合。它存储顺序不会按照插入先后顺序进行存储。...集合类型和列表类型区别如下: 列表可以存储重复元素,集合只能存储非重复元素; 列表是按照元素先后顺序存储元素,而集合则是无序方式存储元素。 一、集合对象概述 ?...集合对象命令复杂度如下: 命 令 时间复杂度 saddkeyelement[element...] 0(k),k是元素个数 sremkeyelement[element...] 0(k),k是元素个数...: intset(整数集合):当集合中元素都是整数且元素个数小于set-maxintset-entries配置(默认512个)时,Redis会选用intset来作为集合内部实 现,从而减少内存使用...,就需要构建一个 新计数器,可以用 SET 集合 加入 IP:SADD users:count 202.177.2.232 计算总数:SCARD users:count 朋友圈点赞 ①点赞 sadd

90830

jsSet基本使用

ECMAScript 6 新增 Set 是一种新集合类型,为这门语言带来集合数据结构。Set 在很多方面都像是加强 Map,这是因为它们大多数 API 和行为都是共有的。 基本API 1....创建Set实例 使用 new 关键字和 Set 构造函数可以创建一个空集合: const s = new Set(); 如果想在创建同时初始化实例,则可以给 Set 构造函数传入一个可迭代对象,其中需要包含插入到新集合实例中元素...(Set 可以包含任何 JavaScript 数据类型作为值): const s = new Set(["val1", 1, true, {}, undefined, function fun() {}...]); 注意:Set结构不会添加重复值 const s = new Set([1, 1, 2, 3, 4, 4, 5, 6, 7, 4, 2, 1]); Array.from(s); // [1,...Set实例转数组 const s = new Set([1, 2, 3]); Array.from(s); // [1, 2, 3] 3. size属性 size: 获取Set实例元素个数: const

2.4K30

js对象

js对象 在编程语言中,提到对象,一般都含有一个隐藏上下文面向对象编程。 面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流编程范式。..., cedf:function(){console.info("cdef")}, "arr":[1,2,3], o:{"name":"jake"} } “在js中,对象是属性无序集合...2. js对象分类 众观整个js对象,可以分成三类: 内置对象 宿主对象 自定义对象 2.1 内置对象 “由ECMA实现、不依赖于宿主环境对象,这些对象js程序执行之前就已经存在了”。...js有两个运行环境: (1) 浏览器。我们在.html文件中加入js代码,再通过浏览器来打开,这里浏览器就是javascript运行环境。 在浏览器端js而言,宿主对象就是浏览器对象。...nodejs也提供了运行js代码环境。在node中有一个global对象 2.3 自定义对象 这才是我们展示身手地方。例如: $, Vue 等等。 3.

6.9K50

使用 Set 检测 JavaScript 对象变化

let nums = [4, 4, 4, 4, 2, 2, 2, 3, 3, 3];let distinctNums = new Set(nums);// Set(3) {4,2,3}// 使用展开运算符将集合转换为数组...创建一个合并后数组集合以及一个初始对象集合。比较结婚前集合和合并集合大小。...然后我们使用Setsize属性比较了结婚前集合(结婚前对象值)和合并集合(结婚前和结婚后对象值)。通常我们将对象文字值转换为数组,然后将数组转换为集合。...如果mergedSet大小比beforeSet大小大,这意味着在结婚后对象中有新唯一值,或者简单地说用户信息已被更新/修改。...注:大多数对象文字都有由数据库自动生成动态属性,例如updated_at和created_at,这些属性值将导致对象已被更新,即使实际上并未更改。

11900

JS (Weak)Set 和 (Weak)Map

Set 和 Map 都是 ES6 新增数据结构。 Set Set 是一个集合,它类似于数组,但是成员值都是唯一,没有重复值。它允许你存储任何类型唯一值,无论是原始值或者是对象引用。...Set 是一个构造函数,它有一个可选参数一个可迭代对象。如果传递了这个参数它所有元素将不重复地被添加到新 Set中。如果不指定此参数或其值为null,则新Set为空。...Set 原型方法 Set 一共有 9 个原型方法。 add(value) 用来向一个Set对象末尾添加一个指定值,它返回Set对象本身。...values() 返回一个Iterator对象,这个对象以插入Set 对象顺序包含了原Set对象每个元素。...它和 JS 对象不同,JS 对象只能用字符串和Symbol作为键,而Map可以使用任何值。 除了键类型上不同,它和Object还有以下不同: Map中键值是有序,而添加到对象键则不是。

2K20
领券