ES6基础语法(四) —— 数据集合-map

四、数据集合-map

·类似于对象,以键值对方式存储
·不同点:对象中键只能是字符串,map中可以为对象

//在对象中,键如果为一个对象,会直接将这个对象toString(),都会变成"[object Object]"字符串,所以"大海"能替换"天空"
    let obj1 = {a: 1}, obj2 = {b: 2}, obj = {};
    obj.name = '张三';
    obj[obj1] = '天空';
    obj[obj2] = '大海';
    console.log(obj); // {[object Object]:"大海, "name:"张三"}

    console.log(obj1.toString()); // [object Object]
    console.log(obj2.toString()); // [object Object]
    console.log(obj1.toString() === obj2.toString()); // true

//在map中,对象可以作为键
    let obj1 = {a: 1}, obj2 = {b: 2};
    const map = new Map([
        ['name', '张三'],
        [obj1, '今天天气很好'],
        [obj2, '适合敲代码'],
        [[1,2], 'hhh']
    ]);
    console.log(map); // Map(4) {"name" => "张三", {a: 1} => "今天天气很好", {b: 2} => "适合敲代码", Array(2) => "hhh"}

    console.log(map.size); // 4

1.set和get
    map.set('friends', ['赵六', '李七']).set(['dog'], '小花');
    console.log(map);
    
    console.log(map.get('name')); // 张三
    console.log(map.get(obj1)); // 今天天气很好
    
2.delete(返回boolean值)
    map.delete(obj1); 
    
3.has(返回boolean值)
    console.log(map.has(obj2));

4.clear-清空
    map.clear();
    console.log(map);

5.keys()-所有键 values()-所有值 entries()-所有键值
    console.log(map.keys());
    console.log(map.values());
    console.log(map.entries());

6.遍历
    map.forEach(function (value, index) {
        console.log(index + ':' + value);
    })

7.注意事项-两个对象永不相等
    map.set({}, '呵呵呵呵呵');
    map.set({}, '哈哈哈哈');
  
    console.log(map); // 上面两个都加入进去了
    console.log({} === {}); // false

觉得有帮助的小伙伴右上角点个赞~

在这里插入图片描述

扫描上方二维码关注我的订阅号~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张兴华(MarsXH.Chang)

喜欢的可以请作者喝杯咖啡~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值