ES6-第十二天

关于SET和MAP
ES6新增的两个集合,SET和MAP;集合就是一个容器。在编程语言中像数组就是一个集合,数组里面可以放很多的数据,但数组里面的元素可以重复,也可以放对象,有长度、有方法。SET和MAP都是可以对数组进行去重的。

  1. SET就是一个类似于数组的数据结构
		//内置构造函数的创建
		let 变量名 = new Set[数组数据,基本数据类型,...]let a = new Set([1,2,3,1,3])
		//会帮我们把数组里面的重复数据去掉
        console.log(a)  //Set(3) {1, 2, 3}
        
        //他的属性和方法有:
        //size属性:表示数据结构里面有多少数据
        let a = new Set([1,2,3,1,3])
        console.log(a.size)  //3  返回值是元素的个数
        
        //add()方法:向该数据集合里面添加数组的使用,添加的重复数据不会进行增加  返回值是集合的本身
        let a = new Set([1,2,3,1,3])
        a.add("hello",3)
        console.log(a) //Set(4) {1, 2, 3, "hello"}
        
        //delete()方法:用来删除数据结构里的数据  删除成功返回true  删除失败返回false
        let a = new Set([1,2,3,1,3])
        console.log(a.delete(3)) //true
        a.delete(3)
        console.log(a) //Set(2) {1, 2}

		//clear()方法:用来清空数据结构里的所有数据  无返回值
		let a = new Set([1,2,3,1,3])
        a.clear()
        console.log(a)  //Set(0) {}

		//has()方法:用来判断该数据结构里面有没有这个数据  有就返回true  没有就返回false
		let a = new Set([1,2,3,1,3])
        console.log(a.has(3)) //true
        console.log(a.has(5)) //false

		//遍历 使用for of 循环
		let arr =new Set([1,2,"hello",true,1])
        for(let i of arr){
            console.log(i) // 1,2,hello 4,true
        }
        //forEach()循环
        let arr =new Set([1,2,"hello",true,1])
        arr.forEach(function(item,index){
            console.log(item)  //1,2,hello,true
        })
        //和Array.from()
        let arr =new Set([1,2,"hello",true,1])
        console.log(Array.from(arr))

		//引用数据类型地址靠地址删除,对象是一个键值对的集合;key只能是string,若不是string类型会强制转为数据类型。
		let a = {name:"Jack"}
        console.log(a.toString)  //ƒ toString() { [native code] }
  1. MAP是一个类似于对象的数据结构
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        console.log(map)  //Map(2) {"name" => "张三", "title" => "Author"}
		
		//size()属性用来获取该数据结构的长度
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        console.log(map.size)  //2

		//set()方法  用来向数据结构里面添加成员的
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        map.set("age",18)
        console.log(map)  //Map(3) {"name" => "张三", "title" => "Author", "age" => 18}

		//get()方法  用来获取数据结构里的某个成员的
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        console.log(map.get("name"))  //张三

		//delete()方法  用来删除数据机构里面的数据的
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        map.delete("name") 
        console.log(map)  //Map(1) {"title" => "Author"}

		//clear()方法  用来清除该数据结构的
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        map.clear() 
        console.log(map)  //Map(0) {}

		//has()方法  用来检测有没有某个数据的
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        console.log(map.has("name"))  //true

		//遍历
		let map = new Map([
            ['name', '张三'],
            ['title', 'Author']
        ]);
        let keys = map.keys()
        for(let key of keys){
            console.log(key,map.get(key))  //name 张三   title Author
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值