JS中的Set 核心认知
1. Set基础用法Set是 ES6 新增的集合类型核心特点是存储唯一值无重复元素元素可以是任意类型基本类型 / 引用类型且遍历顺序与插入顺序一致。你可以把它理解为一个 “自动去重” 的数组但没有下标不能通过[0]取值专门用于处理 “不重复值” 的场景比如数组去重、判断元素是否存在。// 创建 Set const 集合 new Set(可迭代对象); // 可迭代对象数组、字符串等可选用于初始化 // 核心方法 集合.add(值); // 添加元素重复添加无效 集合.delete(值); // 删除元素成功返回true失败返回false 集合.has(值); // 判断元素是否存在返回布尔值 集合.clear(); // 清空所有元素 集合.size; // 获取元素个数类似数组length只读遍历 Set无下标三种常用方式const s new Set([a, b, c]); // 方式1forEach推荐和数组forEach用法一致 s.forEach((value) { console.log(value); // a → b → c }); // 方式2for...of 遍历直接遍历值 for (const value of s) { console.log(value); // a → b → c } // 方式3遍历 keys()/values()/entries()Set的键和值相同 for (const key of s.keys()) { console.log(key); // a → b → c } for (const [key, value] of s.entries()) { console.log(key, value); // a a → b b → c c }Set 与数组互转最常用场景// 1. Set 转数组两种方式 const s new Set([1, 2, 3]); const arr1 Array.from(s); // [1,2,3]推荐 const arr2 [...s]; // [1,2,3]ES6扩展运算符更简洁 // 2. 数组去重Set 核心用途 const arr [1,2,2,3,3,3]; const uniqueArr [...new Set(arr)]; // [1,2,3]一行实现数组去重Set vs 数组 vs Map核心区别类型核心特点是否允许重复是否有下标常用场景数组有序集合是是有序存储、按索引访问Set有序集合插入顺序否否去重、判断元素是否存在Map键值对集合键唯一值可重复否存储键值映射
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2422216.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!