news 2026/5/9 4:10:25

算法 | 整理数据结构 | 算法题中,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/5 9:20:57

室内厂房火灾检测数据集VOC+YOLO格式920张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;920标注数量(xml文件个数)&#xff1a;920标注数量(txt文件个数)&#xff1a;920标注类别数&…

作者头像 李华
网站建设 2026/5/6 15:00:36

2026年10款最佳降AI率工具推荐:论文AIGC检测轻松过关

2026年10款最佳降AI率工具推荐&#xff1a;论文AIGC检测轻松过关面对知网、维普、万方等平台日益严格的AIGC检测&#xff0c;选对降AI工具是关键。本文实测对比10款主流工具&#xff0c;帮你找到最适合的解决方案。为什么需要降AI率工具&#xff1f; 2026年&#xff0c;各高校普…

作者头像 李华
网站建设 2026/4/23 17:06:31

导师严选 2026 8款AI论文软件测评:本科生毕业论文全攻略

导师严选 2026 8款AI论文软件测评&#xff1a;本科生毕业论文全攻略 2026年AI论文工具测评&#xff1a;为什么你需要这份精准指南 随着人工智能技术的不断进步&#xff0c;越来越多的本科生开始借助AI论文软件提升写作效率与质量。然而&#xff0c;面对市场上琳琅满目的工具&am…

作者头像 李华
网站建设 2026/5/2 11:21:01

2025年四川大学计算机考研复试机试真题(解题思路 + AC 代码)

2025年四川大学计算机考研复试机试真题 2025年四川大学计算机考研复试上机真题 历年四川大学计算机考研复试上机真题 历年四川大学计算机考研复试机试真题 更多学校完整题目开源地址&#xff1a;https://gitcode.com/u014339447/pgcode 百度一下pgcode 即可查看&#xff0…

作者头像 李华
网站建设 2026/4/23 14:37:44

2025年厦门大学计算机考研复试机试真题(解题思路 + AC 代码)

2025年厦门大学计算机考研复试机试真题 2025年厦门大学计算机考研复试上机真题 历年厦门大学计算机考研复试上机真题 历年厦门大学计算机考研复试机试真题 更多学校完整题目开源地址&#xff1a;https://gitcode.com/u014339447/pgcode 百度一下pgcode 即可查看&#xff0…

作者头像 李华
网站建设 2026/5/8 12:33:39

(8-1)自动驾驶中的无地图环境路径探索:D* Lite算法简介

在自动驾驶领域&#xff0c;无地图环境下的路径探索是极具挑战性的课题。本章聚焦于 D* Lite 算法&#xff0c;这是一种在未知或部分已知环境中进行高效路径规划的先进算法。我们将从 D* Lite 算法的应用领域、核心思想、实现步骤入手&#xff0c;通过实战案例深入剖析其在迷宫…

作者头像 李华