当前位置: 首页 > news >正文

ES6 中的 Set 对象

添加:

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   转换为  Array:

// Array 转 Set
var mySet = new Set(["value1", "value2", "value3"]);
// 用...操作符,将 Set 转 Array
var myArray = [...mySet];// String 转 Set
var mySet = new Set('hello');  // Set(4) {"h", "e", "l", "o"}
// 注:Set 中 toString 方法是不能将 Set 转换成 String

Set 对象作用:

数组去重

var mySet = new Set([1, 2, 3, 4, 4]);
[...mySet]; // [1, 2, 3, 4]


并集

var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
var union = new Set([...a, ...b]); // {1, 2, 3, 4}


交集

var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
var intersect = 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}


http://www.mrgr.cn/news/9570.html

相关文章:

  • 【Linux入门】shell基础篇——shell的构成及基础调试
  • Excel VBA 编程学习指南,1.1 什么是VBA及其应用场景
  • 【ORACLE】listagg() 函数
  • 鸿蒙HarmonyOS开发:如何灵活运用动画效果提升用户体验
  • 深入解析浏览器与Web服务器的通信机制:从URL输入到页面渲染的全过程
  • Spring Boot OAuth2.0应用
  • HCIA云计算实验-1-存储实验
  • Linux云计算 |【第二阶段】SECURITY-DAY4
  • 学习记录:js算法(十):每日温度
  • 小程序 蓝牙API使用全流程
  • 从零开始搭建 LVS 高可用集群 (单机)
  • PDPS软件 那智机器人 (丰田版)离线程序导出处理
  • 华为nova2下无需root安装Metasploit
  • JDK、JRE、JVM关系
  • 记使用Github工作流下载解压重打包Artifacts
  • 【vscode】vscode+cmake+llvm+ninja开发环境的搭建(draft)
  • Nginx - 反向代理、缓存详解
  • 【Oracle19c】手工数据统计信息并导入dmp数据
  • 简单实现进度条效果(vue2)
  • 品味生活的艺术 ——《晚酌的流派》推荐