news 2026/5/23 17:03:43

算法 | 整理数据结构 | 算法题中,JS 容器的选择

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法 | 整理数据结构 | 算法题中,JS 容器的选择

总结:算法题 JS 容器选择速查表

需求用什么
是否出现过Set
不同元素个数Set.size
频率统计Map
顺序访问Array / String
随机访问Array / String
去重Set
哈希查找Set / Map

JS 容器范式手册:Set、Map、字符串、数组

注意,区分 “值容器”和“结构容器


一、String(字符串)范式

字符串是只读的、类数组结构

let s = "abcde"; s.length // 5 s[0] // "a" s.charAt(0) // "a" // 算法遍历范式: for (let i = 0; i < s.length; i++) { let ch = s[i]; }

二、Array(数组)范式

数组是有序容器 + 有 length

let arr = [10, 20, 30]; arr.length // 3 arr[1] // 20 // 遍历范式: for (let i = 0; i < arr.length; i++) {} for (const x of arr) {} // 判重(慢): arr.includes(x) // O(n)

三、Set(去重集合)范式

Set = 无序、唯一元素集合

let set = new Set(); set.add("a") set.add("b") set.add("a") // 不会重复 set.size // 2

算法题标准用法

1️⃣ 统计不同元素
let set = new Set(); for (let x of arr) { set.add(x); } let distinct = set.size;
2️⃣ 判断是否存在

set.has(x)

3️⃣ 清空集合

set.clear()


四、Map(计数器 / 哈希表)范式

Map = key → value(非常适合频率统计)

let map = new Map();

1️⃣ 计数范式(高频)

for (let ch of s) { map.set(ch, (map.get(ch) || 0) + 1); }

2️⃣ 取值

map.get("a") // undefined 或 数字

3️⃣ 判断是否存在

map.has("a")

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 13:16:45

全网最全10个AI论文平台,助你搞定本科生毕业论文!

全网最全10个AI论文平台&#xff0c;助你搞定本科生毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 在当今学术环境中&#xff0c;AI 工具已经逐渐成为本科生撰写毕业论文的重要帮手。尤其是在面对大量文献阅读、数据整理以及内容创作时&#xff0c;这些工具不仅能够…

作者头像 李华
网站建设 2026/5/22 3:31:13

14.设计模式-备忘录模式

备忘录模式&#xff1a;在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 需求 游戏的某个场景&#xff0c;一游戏角色有生命力、攻击力、防御力等等数据&#xff0c;在打Boss前…

作者头像 李华
网站建设 2026/5/22 10:34:27

导师不会告诉你的6个免费AI论文工具:1小时搞定全文告别熬夜

想知道为什么你隔壁实验室的同学总能提前交稿&#xff0c;而你还在一字一句地苦熬&#xff1f;因为他们在用一些“不该知道”的秘密武器。今天&#xff0c;我就来为你揭秘这些藏在水面之下的“学术黑科技”&#xff0c;特别是那个能让论文效率提升10倍的终极神器。 前言&#x…

作者头像 李华
网站建设 2026/5/21 23:39:47

计及多能耦合的区域综合能源系统电气热能流计算Matlab实现

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

作者头像 李华
网站建设 2026/5/22 4:41:02

AI侦测模型微调教程:云端GPU加速,3小时完成迭代

AI侦测模型微调教程&#xff1a;云端GPU加速&#xff0c;3小时完成迭代 引言 作为一名算法工程师&#xff0c;你是否遇到过这样的困境&#xff1a;公司GPU资源被其他项目占用&#xff0c;但你又急需优化行业专用模型&#xff1f;传统本地训练动辄需要数天时间&#xff0c;而项…

作者头像 李华
网站建设 2026/5/21 22:55:16

金融实体关系图谱构建:云端分布式计算,按需扩容

金融实体关系图谱构建&#xff1a;云端分布式计算&#xff0c;按需扩容 引言 作为一名反洗钱分析师&#xff0c;你是否经常遇到这样的困境&#xff1a;面对千万级的交易数据&#xff0c;本地电脑跑个简单的图计算都要卡死&#xff0c;更别提复杂的实体关系分析了&#xff1f;…

作者头像 李华