Files
2026-07-13 21:36:17 +08:00

751 B


title: 合并多个数组迭代 impact: LOW-MEDIUM impactDescription: 减少迭代次数 tags: javascript, arrays, loops, performance

合并多个数组迭代

多次调用 .filter().map() 会对数组进行多次迭代。应将它们合并为一次循环。

不正确(3 次迭代):

const admins = users.filter(u => u.isAdmin)
const testers = users.filter(u => u.isTester)
const inactive = users.filter(u => !u.isActive)

正确(1 次迭代):

const admins: User[] = []
const testers: User[] = []
const inactive: User[] = []

for (const user of users) {
  if (user.isAdmin) admins.push(user)
  if (user.isTester) testers.push(user)
  if (!user.isActive) inactive.push(user)
}