JavaScript数组操作核心在于区分修改原数组(push、pop、shift、unshift、splice)与返回新数组(map、filter、slice、concat)的方法,辅以find、includes、some、every等查找判断方法及扩展运算符、reduce、flat等高频技巧。
JavaScript数组操作的核心在于理解哪些方法会改变原数组、哪些返回新数组,以及它们最常用的场景。掌握以下6个方法基本覆盖日常开发80%的需求。
这些方法直接改变原始数组,适合需要就地更新的场景:
arr.splice(2, 1, 'new') 表示从索引2删1个,插入'new'。函数式编程偏好这类方法,利于避免副作用、提升可读性与调试效率:
numbers.map(n => n * 2)。users.filter(u => u.active)。arr.slice(0, 10) 取前10项。[...arr1, ...arr2]。快速定位或验证数据存在性,避免手写 for 循环:
users.find(u => u.id === 123)。indexOf() !== -1 更语义化,支持 NaN。
不是独立方法,但组合使用频率极高:
[...arr])、合并([...a, ...b])、解构([first, ...rest] = arr)。arr.reduce((sum, n) => sum + n, 0)。arr.flat(Infinity) 可完全拍平多维数组。替代手写递归的简洁方案。不需要死记所有方法,先吃透 push/pop/map/filter/splice/some/every 这几个,再根据项目需要逐步扩展。关键是理解“改原数组”和“返新数组”的分界,这决定了代码是否易维护、是否引发隐蔽bug。