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

百度经验网站建设子网站建设

百度经验网站建设,子网站建设,万网 网站建设方案书范文,医药行业网站建设在 JavaScript 中,Set 是 ES6 引入的一个新数据结构,它允许我们存储一组唯一的值。这使得 Set 成为许多场景下的理想选择,特别是当我们需要对数组进行去重操作时经常被提起和使用。 一、基本概念 Set 是一种集合(Set&#xff09…

在 JavaScript 中,Set 是 ES6 引入的一个新数据结构,它允许我们存储一组唯一的值。这使得 Set 成为许多场景下的理想选择,特别是当我们需要对数组进行去重操作时经常被提起和使用。

一、基本概念

Set 是一种集合(Set)类型的数据结构,类似于数组,但与数组有以下几个显著的区别:

  • ‌唯一性‌
    Set 中的元素是唯一的,重复值会被自动过滤。支持存储任意类型(原始值、对象引用等)‌。
  • ‌无序性‌
    元素存储顺序遵循插入顺序,但无法通过索引访问‌。
  • 值的类型广泛
    可以存储任何类型的值,包括原始值(如数字、字符串、布尔值等)和引用类型(如对象、数组、函数、Symbol等)

二、创建

1、‌创建一个空 Set‌

const emptySet = new Set();

2、传入可迭代对象创建

const numSet = new Set([1, 2, 3, 3]);
// 解释:会将数组中的每个数字作为单独的元素添加到Set中,同时添加时重复值会被自动过滤,结果是 {1, 2, 3}const strSet = new Set("hello");
// 解释:会将数字符串中的每个字符作为单独的元素添加到Set中,同时添加时重复值会被自动过滤,结果是 {'h', 'e', 'l', 'o'}

此方式常被用于数组去重‌。

三、常用属性和方法

  • add() 添加元素,返回 Set 本身(支持链式调用) ;
    const mySet= new Set();
    mySet.add(1).add(2)
    
  • has() 检查元素是否存在,返回布尔值
    mySet.has(2); // 存在返回true,不存在返回false
    
  • delete() 删除元素,返回是否删除成功
    mySet.delete(2); // true
    
  • clear() 清空所有元素
    mySet.clear();
    
  • size属性,返回Set中的数量
    mySet.size   // 3
    

四、遍历操作

1、‌forEach 方法‌

mySet.forEach((value) => console.log(value));

2、‌for…of 循环‌

for (const item of mySet) { console.log(item); }

3、‌转换为数组‌

const arr1 = [...mySet];
const arr2 = Array.from(mySet);

4、entries() 返回迭代器
返回一个包含 [value, value] 对的迭代器,用于遍历 Set 中的所有元素。由于 Set 没有键值对的概念,每个元素的键和值相等‌。
例如元素 “a” 会生成 [“a”, “a”],此设计是为了与 Map 的 entries() 方法保持接口一致性‌

const mySet = new Set(["a", "b", "c"]);
const iterator = mySet.entries();for (const entry of iterator) {console.log(entry); // 输出: ["a", "a"], ["b", "b"], ["c", "c"]
}// 转换为数组
const entriesArray = [...iterator]; 
// 结果: [["a","a"], ["b","b"], ["c","c"]]

五、应用场景

1、数据去重‌

const uniqueArray = [...new Set([1, 2, 2, 3])]; // [1, 2, 3]

2、快速查找
Set提供了快速的查找操作,时间复杂度为O(1)。如果有大量的元素需要进行查找,并且不关心顺序,使用Set会比数组更加高效。

const mySet = new Set([1, 2, 3, 4, 5]); 
console.log(mySet.has(3)); // true 
console.log(mySet.has(6)); // false

3、‌集合运算‌
‌并集‌:new Set([…setA, …setB])
‌交集‌:new Set([…setA].filter(x => setB.has(x)))
‌差集‌:new Set([…setA].filter(x => !setB.has(x)))‌

4‌、高效查找/删除‌
Set 的 has 和 delete 操作时间复杂度为 O(1),优于数组的遍历操作‌。

六、注意事项

  • ‌全等匹配‌
    Set 使用 === 判断元素是否重复,例如 5 和 “5” 视为不同值。
  • ‌NaN 的特殊处理‌
    Set 认为 NaN === NaN,即使 NaN !== NaN 在常规 JS 中成立‌。
  • ‌对象引用唯一性‌
    const obj = {};
    mySet.add(obj);
    mySet.add(obj);   // 不重复
    mySet.add({});    // 视为新对象,重复添加
    

七、小结

JavaScript中的Set数据结构以其唯一性、无序性和灵活性,成为处理不重复数据的首选工具。无论是去重、快速查找还是集合运算,Set都能提供高效且简洁的解决方案,大大简化了数据处理流程。


文章转载自:

http://kVD9x1wF.ynstj.cn
http://xeXEyZNp.ynstj.cn
http://Eo4pReQe.ynstj.cn
http://7QGWVyeL.ynstj.cn
http://asDBdJwS.ynstj.cn
http://6gErQ2OP.ynstj.cn
http://FR4Khwxy.ynstj.cn
http://kUGhpZwi.ynstj.cn
http://bjgw8m9J.ynstj.cn
http://lSSTH3rp.ynstj.cn
http://IGCRVUR8.ynstj.cn
http://aiITkW3h.ynstj.cn
http://DmVntG7R.ynstj.cn
http://i9TX439v.ynstj.cn
http://sJWj7J8T.ynstj.cn
http://XGD570uK.ynstj.cn
http://Q4c554NY.ynstj.cn
http://DxH5lIG2.ynstj.cn
http://m8AdQgpc.ynstj.cn
http://L6K4WTtI.ynstj.cn
http://Xpbls4Ng.ynstj.cn
http://kCMwjsvS.ynstj.cn
http://9okYP8MQ.ynstj.cn
http://uzJ5m3rp.ynstj.cn
http://JA7jiabm.ynstj.cn
http://8B5JwiaF.ynstj.cn
http://GliOyVFU.ynstj.cn
http://F41MkXYk.ynstj.cn
http://4yyUeyom.ynstj.cn
http://KnBrfzns.ynstj.cn
http://www.dtcms.com/wzjs/752866.html

相关文章:

  • 获取网站访客qq号码程序下载wordpress相同字段调用
  • 网站除了域名还要什么如何做ppt的模板下载网站
  • js动效网站免费简约ppt模板
  • 网站搭建书籍推荐网站建设管理情况自查报告
  • 宣传网站怎么做的天河网站建设哪个好
  • 网站建设结构分布提供购物网站建设
  • 个人网站建设俄文网站推广
  • 网站备案更改做网站开发哪里可以接单
  • 做网站用笔记本做服务器吗整站seo优化一般多少钱
  • 纪检网站建设计划凉州区住房城乡建设局网站
  • 阿里云做的网站误删了射洪哪里可以做网站
  • 广告公司简介简短手机卡顿优化软件
  • 织梦网站最下面的网站建设去除英文定机票网站建设
  • 什么语言开发网站国外平面设计网站有哪些
  • 微信与与网站建设个人网站酷站赏析
  • 网站视频主持人短视频seo客短
  • wordpress和the7主题的关系昆明网站seo外包
  • 大连专业零基础网站建设教学培训涿州吧
  • 文化推广网站建设心得linux怎么下载wordpress
  • 广州制作网站哪家专业怎么自己做网站
  • 免费做网站公司哪家好网站建设的注意事项
  • 一键免费做网站开发区人才网招聘信息
  • 房地产网站建设与优化分析宣传网站建设背景
  • 劳务派遣技术支持 东莞网站建设wordpress 自适应cms主题
  • 网站建设属于什么经济科目无经验培训 网页设计学员
  • wordpress打开网页慢生产企业网站如何做seo
  • 建网站需要什么程序深圳企业网站建设服务好
  • 中国网站为什么做的那么丑郑州做网站便宜
  • 更改各网站企业信息怎么做广州网站建设新锐
  • 玉溪市城乡建设局网站灌云网站制作