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

网站建设安装部署必须买吗问卷调查网站

网站建设安装部署必须买吗,问卷调查网站,网站建设优化工资高不,茂名专业做网站目录 一、Map 1. 定义与特点 2. 创建Map对象 3. 常用方法 4. 遍历Map 5. Map与对象的区别 二、Set 1. 定义与特点 2. 创建Set对象 3. 常用方法 4. 遍历Set 5. 应用场景 数据去重 集合运算 遍历集合 一、Map 1. 定义与特点 Map 是 JavaScript ES6 中新增的一种数…

目录

一、Map

1. 定义与特点

2. 创建Map对象

3. 常用方法

4. 遍历Map

5. Map与对象的区别

二、Set

1. 定义与特点

2. 创建Set对象

3. 常用方法

4. 遍历Set

5. 应用场景

数据去重

集合运算

遍历集合


一、Map

1. 定义与特点

Map 是 JavaScript ES6 中新增的一种数据结构,它类似于对象,但比对象更强大、更灵活。Map是一种键值对集合,可以存储任意类型的键和值,与普通对象不同,Map保留了键的原始插入顺序,并支持链式调用。Map的键可以是任何类型的数据,包括对象和函数。

2. 创建Map对象

  • 使用new Map()构造函数

  • 使用字面量语法

 const map = new Map();const map = new Map([['key1', 'value1'], ['key2', 'value2']]);

3. 常用方法

  • 添加键值对set(key, value)

  • 获取键对应的值get(key)

  • 检查键是否存在has(key)

  • 删除键值对delete(key)

  • 清空Mapclear()

  • 获取Map大小size

 map.set('key1', 'value1');console.log(map.get('key1')); // 输出: value1console.log(map.has('key1')); // 输出: truemap.delete('key1');map.clear();console.log(map.size); // 输出: 0(当前Map中键值对的数量)

4. 遍历Map

Map提供了多种遍历方法:

  • forEach():遍历Map中的每个键值对,接受一个回调函数。

  • for...of方法:keys() :返回一个包含所有键的迭代器,values() :返回一个包含所有值的迭代器,entries() :返回一个包含所有键值对的迭代器。

 const map = new Map([['key1', 'value1'], ['key2', 'value2']]);​// 使用 forEach 方法遍历map.forEach((value, key) => {console.log(key, value);});​// 使用 for...of 循环遍历for (let [key, value] of map) {console.log(key, value);}​// 使用 keys()、values() 和 entries() 方法遍历for (let key of map.keys()) {console.log(key);}​for (let value of map.values()) {console.log(value);}​for (let [key, value] of map.entries()) {console.log(key, value);}

5. Map与对象的区别

特性Map对象
键的类型可以是任何数据类型,包括对象、函数、基本类型等只能是字符串或符号类型
键的顺序按插入顺序保留键值对键的遍历顺序可能会根据不同的 JavaScript 引擎有所不同
大小属性size 属性,可以直接获取键值对的数量没有内置的 size 属性,需要手动计算
迭代方式可直接迭代,使用 for...of 循环或 forEach 方法需要先获取键数组,然后进行迭代
默认键没有默认键继承自 Object.prototype,可能会有默认键
性能在频繁增删键值对的操作中通常比对象更高效适用于结构化的静态数据
序列化/解析没有内置的序列化或解析支持,但可以自定义实现可以使用 JSON.stringifyJSON.parse 进行序列化和解析
创建方式使用 new Map() 构造函数或传递可迭代对象初始化使用字面量语法 {} 或构造函数 new Object() 创建
方法提供 set, get, has, delete, clear, keys, values, entries 等方法提供 hasOwnProperty, in 运算符等方法

二、Set

1. 定义与特点

Set 也是 JavaScript ES6 中新增的一种数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。Set内部通过哈希算法保证元素的唯一性和快速查找。

2. 创建Set对象

  • 使用new Set()构造函数

  • 使用字面量语法

 const set = new Set();const set = new Set([1, 2, 3, 4]);

3. 常用方法

  • 添加元素add(value)

  • 删除元素delete(value)

  • 检查元素是否存在has(value)

  • 清空Setclear()

  • 获取Set大小size

 set.add(5);set.delete(5);console.log(set.has(5)); // 输出: falseset.clear();console.log(set.size); // 输出: 0(当前Set中元素的数量)

4. 遍历Set

Set提供了多种遍历方法:

  • forEach():遍历Set中的每个元素,接受一个回调函数。

  • for...of方法:keys():返回一个包含所有元素的迭代器(Set本身就是无序的,因此keys()values()返回的结果相同),values():返回一个包含所有元素的迭代器,entries():返回一个包含所有键值对的迭代器(Set中没有键,因此返回的结果与values()相同)。

 const set = new Set([1, 2, 3, 4]);​// 使用 forEach 方法遍历set.forEach((value) => {console.log(value);});​// 使用 for...of 循环遍历for (let value of set) {console.log(value);}​// 使用 values()、keys() 和 entries() 方法遍历for (let value of set.values()) {console.log(value);}​for (let key of set.keys()) {console.log(key);}​for (let [key, value] of set.entries()) {console.log(key, value);}

5. 应用场景

数据去重

Set对象的一个核心用途是去除重复值。当需要从数组中移除重复项时,可以使用Set来实现。

 const numbers = [1, 2, 3, 4, 5, 5, 6, 6, 6];const uniqueNumbers = new Set(numbers);console.log(uniqueNumbers); // 输出: Set {1, 2, 3, 4, 5, 6}

这种用法在处理数据时非常常见,特别是在需要确保集合中元素唯一性的情况下。

集合运算

Set对象支持多种集合运算,包括交集、并集和差集。

 const setA = new Set([1, 2, 3]);const setB = new Set([3, 4, 5]);const intersection = new Set([...setA].filter(x => setB.has(x)));console.log(intersection); // 输出: Set {3}

通过这些运算,可以方便地对集合进行数学上的操作。

遍历集合

Set对象提供了多种方法来遍历集合中的元素,例如forEach()values()keys()等,这些方法使得遍历和操作集合更加灵活。

 const set = new Set([1, 2, 3]);set.forEach(value => console.log(value));​const values = Array.from(set.values());console.log(values); // 输出: [1, 2, 3]​const keys = Array.from(set.keys());console.log(keys); // 输出: [1, 2, 3]

文章转载自:

http://whmM4RXR.hfnbr.cn
http://nLrnNZzM.hfnbr.cn
http://DklR2eMP.hfnbr.cn
http://l3127lkX.hfnbr.cn
http://jbbc8GKI.hfnbr.cn
http://vJ8DaxGb.hfnbr.cn
http://yrqpDLNf.hfnbr.cn
http://UyuvyRJv.hfnbr.cn
http://HdPZ2aYk.hfnbr.cn
http://8ZIZ6iXh.hfnbr.cn
http://xlXdQzR4.hfnbr.cn
http://e8vIjfVj.hfnbr.cn
http://fT4SNBNI.hfnbr.cn
http://DkjusybR.hfnbr.cn
http://TW0nhigc.hfnbr.cn
http://Iw4fuGuq.hfnbr.cn
http://Z1cXL7ie.hfnbr.cn
http://8TaLYSVM.hfnbr.cn
http://bM6pGc2K.hfnbr.cn
http://3WaUO9aH.hfnbr.cn
http://S3olJDkg.hfnbr.cn
http://P6BJsd1b.hfnbr.cn
http://chUNASoz.hfnbr.cn
http://KxwQmyNz.hfnbr.cn
http://RVgTX177.hfnbr.cn
http://iVp4Dr9n.hfnbr.cn
http://FTrr57aT.hfnbr.cn
http://xewiE4gj.hfnbr.cn
http://RVsPLrYk.hfnbr.cn
http://OCA8hW7L.hfnbr.cn
http://www.dtcms.com/wzjs/715808.html

相关文章:

  • 汕头网站搜索引擎优化天元建设集团有限公司工程
  • 海洋生态文明建设的网站名wordpress宠物模板
  • 微信开发网站建设程序网站建设法语
  • 网站发展趋势和前景wordpress下载类主题系统主题
  • 制作网页网站的软件做网站的公司图
  • 广州网站设计权威乐云践新扩展名 网站
  • 网站的小图标怎么做的免费制作logo的网站
  • 企业做网站好吗用手机做空间建网站
  • 石家庄网站关键词网页版微博
  • python 微信网站开发嘉兴app开发
  • 乐清网站制作公司招聘投诉百度最有效的电话
  • 自适应网站开发工具公司黄页网
  • 有免费的微网站制作吗江苏建设省直报名网站
  • 个人微企业网站模板湖北省建设厅网站资质
  • 如何做一间公司的网站网站建设企业开发
  • 小说网站建设教程软件项目开发流程和步骤
  • asp免费网站模板扬州天达建设集团有限公司网站
  • 网站建设和备案深圳市工程建设网站
  • 财务网站建设网页制作与设计课本
  • 网站建设需要包含什么百度一下首页
  • 二手闲置平台网站怎么做百度推广产品
  • 郑州做营销型网站的公司网站建设全国排行
  • 摄影网站开发背景重庆做网站建设团队
  • django 做网站四川省送变电建设有限责任公司网站
  • 如何做网站结构及栏目策划江西住房和城乡建设网站
  • 做电影网站多少钱设计网站客户体验
  • js素材网站wordpress 竞价页
  • 网络公司网站asp做网站英文编辑有前途吗
  • 餐饮网站建设思路建设一个网站的目标与期望
  • 建设网站要什么手续腾讯 wordpress