Map竟然这么好用?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!

大家好,我是大澈!

本文约 600+ 字,整篇阅读约需 1 分钟。

今天分享一段优质 JS 代码片段,使用Map数据结构来管理表单数据。

老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!

js 复制代码
// 创建一个Map对象
const formMap = new Map();

formMap.set('username', 'xxx');
formMap.set('password', '123456');

const username = formMap.get('username');
const password = formMap.get('password');

console.log(username); // 'xxx'
console.log(password); // '123456'

if (formMap.has('username')) {
  console.log('Username exists in the map');
}

formMap.delete('password');
console.log(formMap.get('password')); // undefined

formMap.clear();
console.log(formMap.size); // 0

分享原因

这段代码展示了如何使用 Map 对象来存储和访问键值对。

相比于使用普通对象,Map 提供了一些优点:

键的类型: 在 Map 中,键可以是任何类型,包括对象、函数和基本数据类型,而在普通对象中,键只能是字符串或符号。

迭代顺序: Map 按插入顺序迭代键值对,而普通对象则没有保证迭代顺序。

内置方法: Map 提供了一些内置方法,如 set、get、has、delete 和 clear,使得操作更加便捷。

代码解析

1. formMap.set('username', 'xxx');

添加表单元素的值到Map中。

2. formMap.get('username');

获取表单元素的值。

3. formMap.has('username')

检查是否包含某个键。

4. formMap.delete('password');

删除某个键值对。

5. formMap.clear();

清空整个Map。

6. formMap.size

查看键值对的数量。

  • end -
相关推荐
paopaokaka_luck7 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
狮子座的男孩9 小时前
html+css基础:25、3D变换(3D空间与景深/透视点的位置/位移/旋转/缩放/多重变换/背部可见性)
css·经验分享·html·旋转·透视点·缩放/位移·3d变换/空间与景深
paopaokaka_luck9 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
鶴哥只手遮天11 小时前
jQuery 4.0 源码架构与工程实践-第 10 章 尺寸、几何与显隐
前端·javascript·jquery
米米商聊13 小时前
图标能点,按钮就可用了吗?键盘、名称与收藏状态
前端·javascript
漫天转悠15 小时前
Vue3白屏排查实录-Transition与多根模板
vue.js·1024程序员节
技术小甜甜15 小时前
【Cursor】Skill 被标黄色警告,怎么改成合格的 SKILL.md
开发语言·javascript·ai编程·cursor·1024程序员节·ai agent·skills
qetfw16 小时前
Bash 函数与流程控制:read、if、for、case 验证
linux·前端·javascript·bash
jason.zeng@150220716 小时前
Nginx 配置详解(静态 HTML、下载目录、API 反向代理三套场景)
java·vue.js·1024程序员节
鬼手点金16 小时前
从 API 消息到模型 Token:Chat Template
java·前端·javascript·数据库·人工智能·深度学习·1024程序员节