首页 > 其他分享 >ES6 新增Set 和 Map 两种数据结构

ES6 新增Set 和 Map 两种数据结构

时间:2024-06-22 16:28:37浏览次数:14  
标签:ES6 Set console Map 元素 map set

ES6 新增了 Set 和 Map 这两种数据结构,它们为 JavaScript 提供了更强大和灵活的数据处理能力。下面详细介绍一下 Set 和 Map 的特性和用法:

Set

Set 是一种类似于数组的数据结构,但是成员的值都是唯一的,没有重复的值。

特性:
  1. Set 中的元素是唯一的,不会出现重复的值。
  2. Set 可以接收一个可迭代对象作为参数,用于初始化 Set。
  3. Set 中的元素是有序的,插入顺序决定了元素的顺序。
常用方法:
  • add(value): 向 Set 中添加一个新的元素。
  • delete(value): 删除 Set 中的指定元素。
  • has(value): 判断 Set 中是否包含指定元素。
  • clear(): 清空 Set 中的所有元素。
  • size: 返回 Set 中元素的个数。
示例:
let set = new Set([1, 2, 3, 4, 5]);

set.add(6);
set.delete(3);
console.log(set.has(2)); // 输出: true
console.log(set.size); // 输出: 5

set.forEach(item => console.log(item)); // 输出: 1 2 4 5 6

Map

Map 是一种键值对的集合,其中每个键都是唯一的,而值可以重复。

特性:
  1. Map 中的键是唯一的,值可以重复。
  2. Map 可以接收一个可迭代对象作为参数,用于初始化 Map。
  3. Map 中的元素是有序的,插入顺序决定了元素的顺序。
常用方法:
  • set(key, value): 向 Map 中设置指定键的值。
  • get(key): 获取 Map 中指定键对应的值。
  • delete(key): 删除 Map 中指定键的值。
  • has(key): 判断 Map 中是否包含指定键。
  • clear(): 清空 Map 中的所有键值对。
  • size: 返回 Map 中键值对的个数。
示例:
let map = new Map([
    ['name', 'Alice'],
    ['age', 30],
    ['city', 'New York']
]);

map.set('gender', 'female');
map.delete('age');
console.log(map.has('city')); // 输出: true
console.log(map.size); // 输出: 3

map.forEach((value, key) => console.log(`${key}: ${value}`));
// 输出:
// name: Alice
// city: New York
// gender: female

总结

Set 和 Map 提供了一种更加灵活和高效的数据结构,能够满足不同场景下的数据处理需求。它们可以存储不重复的值,并且提供了丰富的方法来操作集合中的元素。在实际开发中,可以根据具体的需求选择使用 Set 或 Map 来处理数据。

标签:ES6,Set,console,Map,元素,map,set
From: https://blog.csdn.net/qq_43733543/article/details/139607954

相关文章

  • [AI资讯·0622] Claude3.5超越GPT-4o,360推出AI搜索,OpenAI收购Rockset,华为发布大模型
    AI资讯「网红」周鸿祎,要为AI带货突发!OpenAI收购数据公司盘古5.0重磅发布!华为云大模型年度杀招来了,人形机器人现场整活GPT-4o一夜被赶超!Anthropic推出Claude3.5,网友3分钟克隆马里奥游戏中国人自己的操作系统!余承东掏出纯血鸿蒙,华为AI大招硬刚苹果Claude3.5突然发布!GPT-4o......
  • java中Optional的应用,以及map和flatMap的区别
    关于Option的介绍可以看深入理解java8中的Optional类就可以了,但是复杂一点的使用在网上却没有搜到,这里结合我开发时遇到的真实案例来讲一下Option的使用。1.案例一在真实业务操作过程中,都是对象里面套对象,这边先简单定义操作对象:publicclassPictureCondition{privateStri......
  • ConcurrentHashMap(并发工具类)
    并发工具类在JDK的并发包里提供了几个非常有用的并发容器和并发工具类。供我们在多线程开发中进行使用。5.1ConcurrentHashMap5.1.1概述以及基本使用在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我......
  • Map集合的特点以及遍历方式
    文章目录前言一、认识Map集合二、Map集合体系体系图Map集合体系的特点三、Map集合常用方法四、Map集合的遍历遍历方式一遍历方式二遍历方式三五、HashMap底层原理HashMap的特点六、LinkedHashMap底层原理LinkedHashMap的特点七、TreeMap底层原理TreeMap的特点总结......
  • 【MindSpore学习打卡】初学教程-04数据集 Dataset-使用MindSpore实现高效数据加载与预
    在深度学习的世界里,数据是模型训练的根基。高质量的数据输入不仅能提升模型的性能,还能加速训练过程。MindSpore提供了一个强大的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理。本文将详细介绍如何使用MindSpore加载和处理数据集,并通过具体的示例......
  • 离线使用端口扫描工具Nmap和Netcat
    1.安装nmap命令Centos7+系统离线安装nmap命令链接:https://pan.baidu.com/s/1jqNbRNpctXgUfa4Qfpu4Pg提取码:0124rpm-ivh  *********.rpm2.进行端口扫描使用Nmap扫描目标主机,例如扫描本地主机localhost: sudonmap-sS-p-localhost-sS:使用TCPSYN扫描。-p-:......
  • flinksql API StreamTableEnvironment StreamStatementSet应用
    1.问题描述在应用flink实时消费kafka数据多端中,一般会使用flink原生的addsink或flinkSQL利用SqlDialect,比如消费kafka数据实时写入hive和kafka一般用两种方式:第一种方式是写入hive利用SqlDialect,写入kafka利用flink的旁路输出流+原生addSink第二种方式是写入hive和kafka都利用S......
  • A Guide to Setting Plot Styles Based on the Matplotlib Library
    AGuidetoSettingPlotStylesBasedontheMatplotlibLibraryDateAuthorVersionNote2024.06.21DogTaoV1.0Finishthedocument.文章目录AGuidetoSettingPlotStylesBasedontheMatplotlibLibraryBasicUsageDrawplotsAdjuststyleSaveplotsAnnotatepl......
  • 掌握JavaScript ES6精髓:探索函数和对象的高级扩展与实用技巧
    序言JavaScript,作为前端开发中不可或缺的语言,已经发展到了ECMAScript2015(简称ES6)以及后续的版本。ES6带来了诸多语法上的改进和创新,使得代码更加简洁、优雅,同时也提供了更多的编程模式和实用技巧。本文将带领读者探索ES6中函数和对象的高级扩展及其实用技巧,同时结合最新......
  • Nmap
    NMap使用技巧总结一、主机发现全面扫描/综合扫描nmap-A192.168.1.103Ping扫描nmap-sP192.168.1.1/24免Ping扫描,穿透防火墙,避免被防火墙发现nmap-P0192.168.1.103TCPSYNPing扫描nmap-PS-v192.168.1.103nmap-PS80,10-100-v192.168.1.103(针对防火墙丢......