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

如何做网站的维护工作摄影网站怎么做数据库

如何做网站的维护工作,摄影网站怎么做数据库,网站建设公司网站模板,wordpress copyright在 JavaScript 中,Map 是一种用于存储键值对的数据结构。它比普通对象更灵活,因为它的键可以是任意数据类型(包括对象、函数等),且能记住键的原始插入顺序。以下是 Map 的详细使用方法: 1. 创建 Map const…

在 JavaScript 中,Map 是一种用于存储键值对的数据结构。它比普通对象更灵活,因为它的键可以是任意数据类型(包括对象、函数等),且能记住键的原始插入顺序。以下是 Map 的详细使用方法:


1. 创建 Map

const map = new Map(); // 空Map
const mapWithValues = new Map([['key1', 'value1'],['key2', 'value2']
]); // 用二维数组初始化

2. 添加键值对:set(key, value)

map.set('name', 'Alice'); // 字符串键
map.set(42, 'The Answer'); // 数字键
map.set({ id: 1 }, 'Object Key'); // 对象键

3. 获取值:get(key)

console.log(map.get('name')); // 'Alice'
console.log(map.get(42)); // 'The Answer'
console.log(map.get('unknown')); // undefined(键不存在)

4. 检查键是否存在:has(key)

console.log(map.has('name')); // true
console.log(map.has('age')); // false

5. 删除键值对:delete(key)

map.delete('name'); // 删除成功返回 true
map.delete('invalid'); // 失败返回 false

6. 清空所有条目:clear()

map.clear(); // 清空整个Map

7. 获取元素数量:size 属性

console.log(map.size); // 当前条目数(非函数)

8. 遍历 Map

(1) forEach() 方法
map.forEach((value, key) => {console.log(key, value); // 值在前,键在后
});
(2) for...of 循环
for (const [key, value] of map) {console.log(key, value); // 直接解构键值对
}// 遍历键
for (const key of map.keys()) { /* ... */ }// 遍历值
for (const value of map.values()) { /* ... */ }// 遍历键值对
for (const entry of map.entries()) { /* ... */ }

9. 与其他数据结构的转换

Map → 数组
const arr = Array.from(map);
// 或
const arr2 = [...map]; // [ ['key1','val1'], ['key2','val2'] ]
对象 → Map
const obj = { a: 1, b: 2 };
const mapFromObj = new Map(Object.entries(obj));
Map → 对象
const mapToObj = Object.fromEntries(map);
// 注意:非字符串键会被转为字符串(如 '[object Object]')

重要特性

  1. 键可以是任意类型(包括 NaN、对象、函数),不会隐式转换成字符串。
  2. 保持插入顺序,遍历时按插入先后返回。
  3. 性能优化:频繁增删时比对象更高效。
  4. 键的相等性:基于引用(对象)或值(基本类型),与 === 一致(但 NaN 被视为相等)。

示例代码

const userMap = new Map();
userMap.set('id', 1001);
userMap.set({ name: 'Bob' }, 'VIP User');console.log(userMap.size); // 2// 遍历
userMap.forEach((val, key) => {console.log(`${typeof key}: ${key} => ${val}`);
});
// 输出:
//   string: id => 1001
//   object: [object Object] => VIP User// 转换到数组
console.log([...userMap]); 
// [ ['id', 1001], [{name:'Bob'}, 'VIP User'] ]

使用场景

  • 需要键不是字符串/符号
  • 需要严格保持插入顺序
  • 频繁增删键值对(性能更优)
  • 需要额外方法(如直接获取长度 size

通过灵活运用 Map,可以更高效地处理复杂键值映射关系!

http://www.dtcms.com/a/532801.html

相关文章:

  • 网站建设的域名续费怎样黑公司的网站
  • Auto CAD二次开发——三点创建圆弧对象函数封装
  • 企业门户网站建设教程江苏建设官方网站
  • Spring Boot 项目标准目录结构
  • Flutter 框架设计与高效执行原理解析
  • 优秀门户网站欣赏泰安网站制作排行
  • jank实现C++无缝互操作的技术探索
  • 不允许做企业网站本地网站做不大
  • 企业网站需要在电信做哪些备案建设春秋龙卡信用卡网站
  • ArkTS 自定义组件与 @Builder 区别总结
  • Docker的主要功能及应用
  • 网站的构造前十强排名家装公司
  • 对上篇ipc 比较完美应用框架设计拓展
  • dede采集规则下载网站网站首页设计教程
  • AI+通信+多模态应用分类与核心内容总结
  • android kotlin语言中的协程
  • 1.4.5 大数据方法论与实践指南-安全合规
  • 分析 Linux 内核 TLS 子系统中的 1day 漏洞
  • 建站申请搜狗友链交换
  • ui设计 国外网站开个公司做购物网站
  • 东莞企业网站建设公司搜索引擎下载安装
  • 从传统SEO到GEO:杨建允在AI搜索优化领域的贡献和行业应用成果
  • 石家庄微信网站免费成品网站
  • gRPC over UDS 与 gRPC 一般模式深度技术分析:调用逻辑与资源限制全解析
  • 【1.1】基于FPGA的Costas环开发案例——前言/目录
  • 微网站 报价微信小程序 网站开发
  • UE5 蓝图-20:主 mainUI 界面蓝图,右边的颜色按钮的位置布局及其动画 colorsBtn_Animation,
  • 【图像算法 - 32】基于深度学习的风力发电设备缺陷检测系统:YOLOv12 + UI界面 + 数据集实现
  • 做网站学什么专业做淘客找单子的网站
  • 51单片机基础-红外遥控(NEC协议)