IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> ES6 set 数据结构 -> 正文阅读

[数据结构与算法]ES6 set 数据结构

  • set, ES6提供的新的数据结构, 与数组类似, 但是成员的值都是唯一 的, 没有重复的值

基础用法

  • set 实例的属性
  1. constructor: 构造函数 默认就是 set 函数
  2. size: 返回set 实例的成员总数
  • set 实例的操作方法
  1. Set.prototype.add(value): 添加某个值, 返回 Set 结构本身
  2. Set.prototype.delete(value): 删除某个值, 返回一个布尔值, 表示删除是否成功
  3. Setprototype.has(value): 返回一个布尔值, 表示该值是否为 Set 成员
  4. Setprototype.clear(): 清除所有成员, 没有返回值
  • Set 实例的遍历方法
  1. keys(), 返回健名的遍历器
  2. values(), 返回键值的遍历器
  3. entries(), 返回键值对的遍历器
  4. 使用回调函数遍历每个成员
  • set 的遍历顺序就是插入顺序,?
  • 遍历的应用:
  1. 数组去重: var mySet = new Set ([ 1, 2, 3, 4, 5 ])? [ ...mySet ]?
  2. 并集:?
    // 并集
    var a = new Set([ 1, 2, 3 ])
    var b = new Set([4, 3, 2])
    var c = new Set([...a, ...b])  // {1, 2, 3, 4}
    
    // 交集
    var a = new Set([ 1, 2, 3 ])
    var b = new Set([4, 3, 2])
    var c = new Set([...a].filter(x => b.has(x)))  // { 2, 3 }
    
    // 差集
    var a = new Set([1, 2, 3]);
    var b = new Set([4, 3, 2]);
    var difference = new Set([...a].filter(x => !b.has(x))); // {1}

let mySet = new Set ()

mySet.add(1); // Set(1) {1}

mySet.add(5); // Set(2) {1, 5}
mySet.add(5); // Set(2) {1, 5} 这里体现了值的唯一性

mySet.add("some text"); 
// Set(3) {1, 5, "some text"} 这里体现了类型的多样性
var o = {a: 1, b: 2}; 
mySet.add(o);
mySet.add({a: 1, b: 2}); 
// Set(5) {1, 5, "some text", {…}, {…}} 
// 这里体现了对象之间引用不同不恒等,即使值相同,Set 也能存储


// set 函数 可以接收一个数组作为参数, 用来初始化
// 例一
const set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]

// 例二
const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
items.size // 5
  • 数据类型转换
  • // array 与 set 类型转换
    var mySet = new Set([ 'value1', 'value2', 'value3' ])
    var myArray = [ ...mySet ]
    
    // Array.from 可以将 set 结构转为数组
    const items = new Set([ 1, 2, 3, 4, 5 ])
    const array = Array.from(items)
    
    // String 与 Set 类型转换
    var mySet = new Set('hello')  // 返回值: set(4){ 'h', 'e', 'l', 'o' } 
    // 注意 Set 中, toString 方法是不能将 Set 转换成 String

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 08:04:35  更:2021-07-28 08:05:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:49:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码