set , map 集合

es6 常用的对象

集合:set , map

set

let set=new Set();
set add(1);
set add('');
set add(true);
set add({age:20});
console.log(set);
console.log(set.size);  // 4
for(let value of set){
    console.log(value);
}

 

  • set可放数字、字符串、布尔值、对象(是引用类型,可相同;所有对象toString都是object)
  • 没有长度,不能用下标
  • 访问,只能用循环

    set去重
    let distinAry=function(ary){
        let set=new Set(ary);
        return [...set];      //...扩展
        console.log(distinAry([1,3,5,7,4,3,2,3]));
    
    }

     

. . . 扩展运算符
let ary=[1,2,3];
let ary1=[4,5,6,7];
console.log([...ary,...ary1]);  // [1,2,3,4,5,6,7]


let obj={a:1,b:2,c:3};
//let obj1={...obj};
//console.log(obj1);
let obj1={...obj,d:4};
console.log(obj1);   // {a:1,b:2,c:3,d:4}

 

arguments不能扩展  

console.log(...arguments); // undefined

 

map

存放元素为键值对

let map=new Map();
map.set('name','');
map.set('age',22);
map.set('sex','');
console.log(map);
console.log(map.get('name'));  //// 循环:for of
for(let v of map){
    console.log(v);
    console.log(v[0]);
    console.log(v[0],v[1]);
}

 

方法

  • size :长度 console.log(map.get('name'),map.size);

  • has:返回true/false console.log(map.has('name'));

  • delete:删除 map.delete('sex');

  • clear:清空 map.clear();

  • keys:键 console.log(map.key());

  • values:得到所有值

  • map跟二维数组相对应 [...map]——二维数组

解构

 es6 ,让代码更易理解

let ary=[22,'ww',''1333333];
let age=ary[0];
let name=ary[1];
let sex=ary[2];
let phone=ary[3];
let[age,name,sex,phone]=ary;
console.log(age,name,sex,phone);

或:
let obj={a:1,b:2,c:3};
//let {a,b,c}=obj;
//console.log(a,b,c);  ——1,2,3
let {a:d,b:f,e,a}=obj;
console.log(d,f,e,a);  ——12,undefined,1
  • set集合中的元素不能重复,重复不会报错,只显示1个;可以是各类型的值
  • 扩展运算符... :最终结果返回在一个集合中,没有具体值返回undefined;arguments不能扩展
  • map使用set,get;循环使用for of;各类方法;map跟二维数组相对应
  • 解构:es6,使代码更容易理解

转载于:https://www.cnblogs.com/llying/p/7528968.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值