news 2026/4/16 10:41:31

算法 | 整理数据结构 | 算法题中,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/4/11 2:16:35

Unity AI Navigation 从 0 到 1:一篇吃透新 NavMesh 系统的实战

一、为什么你必须升级到老 NavMesh&#xff1f; 如果你还在用 2021 LTS 之前的 Navigation 窗口做 Bake&#xff0c;那你一定踩过这些坑&#xff1a; 场景里一移动箱子&#xff0c;就要重烤 NavMesh&#xff0c;CPU 直接爆炸&#xff1b; 不同体型的 NPC 必须共用同一张 Mesh…

作者头像 李华
网站建设 2026/4/11 14:22:50

VisionPro二开之日志Log模块

VisionPro二开之日志Log模块 一 配置log4net.config文件 <?xml version"1.0" encoding"utf-8" ?> <configuration><configSections><section name"log4net" type"System.Configuration.IgnoreSectionHandler"/…

作者头像 李华
网站建设 2026/4/16 10:39:12

AI侦测模型数据标注:云端协作工具+GPU加速全攻略

AI侦测模型数据标注&#xff1a;云端协作工具GPU加速全攻略 引言 当你需要处理10万张图片的数据标注任务时&#xff0c;是否遇到过这些困扰&#xff1f;本地电脑跑不动、团队成员协作困难、标注进度缓慢...这些问题我都经历过。今天我要分享的云端协作标注方案&#xff0c;正…

作者头像 李华
网站建设 2026/4/8 10:40:31

AI智能侦测开箱即用方案: Docker镜像+示例代码全家桶

AI智能侦测开箱即用方案&#xff1a; Docker镜像示例代码全家桶 引言&#xff1a;为什么你需要这个方案&#xff1f; 想象一下&#xff0c;你是一个外包团队的负责人&#xff0c;刚接到一个AI项目&#xff0c;客户催着要demo&#xff0c;但团队里没人有AI开发经验。这时候&am…

作者头像 李华
网站建设 2026/4/16 10:16:24

物联网安全AI检测:云端方案1小时部署,守护智能设备

物联网安全AI检测&#xff1a;云端方案1小时部署&#xff0c;守护智能设备 引言&#xff1a;为什么智能家居需要AI安全防护&#xff1f; 早上7点&#xff0c;你的智能闹钟准时响起&#xff0c;窗帘自动拉开&#xff0c;咖啡机开始工作——这是智能家居带来的便利生活。但你是…

作者头像 李华