Skip to content
Tuplog
Go back

LeetCode JS 常用写法选择

Edit page

刷题过程中同一个逻辑常有多种写法,这里记录我的首选方式和理由。后续持续补充。

数组遍历

首选:for...of

for (const item of arr) { ... }

简洁、可读,支持 break / continue。需要索引时用 entries():

for (const [i, item] of arr.entries()) { ... }

不选的方式:

对象遍历

首选:Object.entries + for...of

for (const [key, value] of Object.entries(obj)) { ... }

同时拿到 key 和 value,配合解构很直观。只需要 key 或 value 时用 Object.keys() / Object.values()。

不选的方式:

数组创建

首选:Array.from

Array.from({ length: n }, () => 0)
Array.from({ length: n }, (_, i) => i)

一步到位创建并初始化,语义清晰。

不选的方式:

计数兜底

首选:|| 0

map.set(key, (map.get(key) || 0) + 1)
obj[key] = (obj[key] || 0) + 1

简短直接,刷题够用。

不选的方式:

字符计算

首选:charCodeAt 后做数学运算

const idx = s.charCodeAt(i) - 97 // 'a' -> 0

直接得到数字,方便用作数组索引或做差值比较。

不选的方式:


Edit page
Share this post on:

Previous Post
做一个云端 Agent:原理与实现