Map对象,Set对象使用(2)
今天重点见一下Set
Set 在我印象里它主要就是去重,Set
是一个值的集合,这个集合中所有的值仅出现一次
Set 属性size:和Map的size一样,返回成员的总数
Set的方法:
Set.prototype.add(value)
:添加某个值,返回 Set 结构本身。Set.prototype.delete(value)
:删除某个值,返回一个布尔值,表示删除是否成功。Set.prototype.has(value)
:返回一个布尔值,表示该值是否为Set
的成员。Set.prototype.clear()
:清除所有成员,没有返回值。
let set = new Set();
set.add(1);set.add(1);set.add(2);
set.has(1);//true
set.has(2);//true
set.add({x:2}); set.add({x:1});
set.add(function(){});
set.add([]);
set.has(2)//true console.log(set.size)
set.delete(1);
set.forEach(point =>{
if(point.x<5){
set.delete(point)
}
})
console.log(set.size)// set.clear();
console.log(set.size)//
Set里面的很多方法和Map是一样的(包括下面的)。同样对象,函数,数组,都是唯一的地址,
Set含有has判断特殊值
+0,-0是恒定的,还有undefned与undefined,他俩也是不重复的,而NaN 与 NaN 是不恒等,Set会认为他俩相等
Set的遍历方法:
Set.prototype.keys()
:返回键名的遍历器。Set.prototype.values()
:返回键值的遍历器。Set.prototype.entries()
:返回所有成员的遍历器。Set.prototype.forEach()
:遍历 Set的所有成员。
const set = new Set(['a', 'b', 'c'])
for (let item of set.keys()) {
console.log(item)
}
// a
// b
// c
for (let item of set.values()) {
console.log(item)
}
// a
// b
// c
for (let item of set.entries()) {
console.log(item)
}
// ["a", "a"]
// ["b", "b"]
// ["c", "c"]
// 直接遍历set实例,等同于遍历set实例的values方法
for (let i of set) {
console.log(i)
}
// a
// b
// c
set.forEach((value, key) => console.log(key + ' : ' + value))
// a: a
// b: b
// c: c
最后对比一下他俩的区别
Set主要还是去重,值唯一,
Map主要是以键值对的形式存在,类似于json,但包含所有数据类型
Map对象,Set对象使用(2)的更多相关文章
- [原创]java WEB学习笔记59:Struts2学习之路---OGNL,值栈,读取对象栈中的对象的属性,读取 Context Map 里的对象的属性,调用字段和方法,数组,list,map
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ...
- 【js jQuery】map集合 循环迭代取值---以及 map、json对象、list、array循环迭代的方法和区别
后台给前台传来一个map @ResponseBody @RequestMapping(value = "getSys") public Map<Long,String> ...
- 利用JSON将Map转换为类对象
Map类型做为一种常见的Java类型,经常在开发过程中使用,笔者最近遇到要将Map对象做为一种通用的参数变量,下传到多个业务类方法中,然后在各个业务类方法中将Map转换为指定类对象的情况.如何将Map ...
- js es6 map 与 原生对象区别
区别 object和Map存储的都是键值对组合.但是: object的键的类型是 字符串: map的键的类型是 可以是任意类型: 另外注意,object获取键值使用Object.keys(返回数组): ...
- 【重温基础】11.Map和Set对象
本文是 重温基础 系列文章的第十一篇. 今日感受:注意身体,生病花钱又难受. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语法和数据类型 [重温基础]2 ...
- map json 字符串 对象之间的相互转化
1.对象与字符串之间的互转 将对象转换成为字符串 String str = JSON.toJSONString(infoDo); 字符串转换成为对象 InfoDo infoDo = JSON.pars ...
- JSON数组对象和JSON字符串的转化,map和JSON对象之间的转化
这种用法包括前端和后端: 前端: 1. 转化为JSON对象方便操作 var jsonObj = JSON.parse(str); 得到的是一个json数组对象,可以通过 for (var p in j ...
- Java创建List、Map等集合对象的同时进行赋值操作
title: Java创建List.Map等集合对象的同时进行赋值操作 date: 2019-11-28 23:25:47 tags: JavaSE categories: JavaSE 问题简介 ...
- map集合 可变对象
#map集合 可变对象 stu = {'xiaoming':34,'xiaohogn':56,'小王':569} print(stu['小王']) ''' 如果key不存在,dict就会报错: > ...
随机推荐
- VCL界面开发必备装备!DevExpress VCL v19.1.7你值得拥有
DevExpress VCL Controls是 Devexpress公司旗下最老牌的用户界面套包.所包含的控件有:数据录入,图表,数据分析,导航,布局,网格,日程管理,样式,打印和工作流等,让您快速 ...
- Java8-Lambda-No.03
import java.util.Comparator; import java.util.Objects; import java.util.UUID; import java.util.concu ...
- BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 (高斯消元)
题面 题目传送门 分析 令爆炸概率为PPP.设 f(i)=∑k=0∞pk(i)\large f(i)=\sum_{k=0}^{\infty}p_k(i)f(i)=∑k=0∞pk(i),pk(i)p ...
- 避免Double数据显示为科学记数
显示现象 数据类型 实体类中为 private Double tradeAmount; Oracle数据库中为 NUMBER(19,4) 解决方式 第一种解决方式 - 无效 将Double转 ...
- 09_编写脚本,实现人机<石头,剪刀,布>游戏
#!/bin/bashgame=(石头 剪刀 布)num=$[RANDOM%3]computer=${game[$num]}#通过随机数获取计算机的出拳#出拳的可能性保存在一个数组中,game[0], ...
- chrome扩展开发实战入门之一-hellocrx
后记:在写这篇文章时,我还没搞懂chrome扩展的基本原理.后来才明白,最简单(且实用)的扩展只需要manifest.json和content_scripts.js两个文件,无需background. ...
- 从 s 点到 t 点的最短路(简单模板)(迪杰斯特拉)
迪杰斯特拉简单版 #include <bits/stdc++.h> using namespace std; int m,n; const int inf = 0x3f3f3f3f; in ...
- libpng warning:iCCP:known incorrect sRGB profile
原因是新版的libpng增强了检查,发出警告.此警告可以忽略.若要消除此警告则要使用v4的色彩配置.GIMP sRGB v4 色彩配置,修改当前图片的色彩配置,设为默认. sRGB profilesO ...
- 2015-2016 ACM ICPC Baltic Selection Contest
这是上礼拜三的训练赛,以前做过一次,这次仅剩B题没补.题目链接:https://vjudge.net/contest/153192#overview. A题,水题. C题,树形DP,其实是一个贪心问题 ...
- cas系列-cas server demo搭建(二)
一 部署简述 cas server官方推荐采用overlay方式进行部署,通过替换自定义文件,减少项目文件改动,以简化开发和部署,这个有点类似于项目上直接替换java的class文件,由于和git的搭 ...