集合
集合(Set):ES6新增的数据类型,特点:类似于数组,里面的元素都是唯一的,没有重复项
创建Set:new Set(); 初始化:以数组形式存放数据,如,let s=newSet([1,3,6]);输出:Set{1,3,6}
Set的属性和方法:
属性:size // 查看集合的长度
方法: - add();添加元素,只能添加一个元素,如:s.add('e').add(3).add(0);可链条式实现添加多个 - delete();删除元素,删除后不保留位置 - has();查看某个数据是否存在 - clear();清空所有数据
与数组的相关操作
Set转换为数组:如,let s=new Set([1,4,6,8,0]);let arr=[...s];
数组去重:先把数组转为集合,如,let arr=[1,2,3,1,5];let s=new new Set(arr);再把集合转为数组:arr=[...s];如果数组中有字符串,Set会严格按类型判断,字符串会保留,如“1”,转后依然是“1”
映射
映射(Map):类似于JSON式对象,特点是键名可以是任意数据类型(JSON 式对象的键名只能是字符串)
创建Map:new Map();如,let m=new Map(); 初始化Map:如,let m=new Map([["name","张三"],["age",30]]);输出:Map{省略}
属性和方法:
属性:size // 查看集合的长度
方法: - set();可以添加或修改数据,如,m.Set("gender","男");//添加 m.Set("age",20); //修改 - get();获取数据,如,m.get("name");输出张三 - has();查看某个数据是否存在 - delete();删除元素 - clear();清空所有数据
与数组相互转换:
Map转数组结果是一个二维数组,如,let m=new Map([["name","张三"],["age",30]]); let arr=[...m];输出arr得到:[["name","张三"],["age",30]]
数组(二维)转Map:let arr=[["name","张三"],["age",30]]; let m=new Map(arr)
流程控制
条件语句:
- 单分支语句:if(条件){条件满足则执行的语句};
- 双分支语句:if(条件){条件满足则执行的语句}else{条件不满足时执行的语句}
- 多分支语句:if(条件1){条件1满足则执行的语句};else if(条件2){条件2满足则执行的语句};....else{上述条件都不满足时执行的语句};
switch语句:
swith(可以是任意数据){case 1:执行语句};意为:拿小括号的数据和case后面的1(可以是任意数据)全等比较,如果相等,则执行语句**case可以有任意多个,swith语句里面只要满足其中一个条件,后面所有代码不管是否满足都会执行,所以可以把不想执行的语句用break;结束语句
浙公网安备 33010602011771号