集合

Posted on 2018-05-20 22:29  Lane617  阅读(77)  评论(0)    收藏  举报

集合

集合(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;结束语句

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3