前端/移动开发面试题更新 2026-08-05

请列举 JavaScript 数组对象的原生方法,并简要说明各自用途。

前端/移动开发技术原理JavaScript

考察说明

考查对 JavaScript 数组原生 API 的熟悉程度和归纳能力。

回答思路

  1. 【回答框架 1】原生方法可按功能分类:修改原数组的方法有 push、pop、shift、unshift、splice、sort、reverse,其中 splice 可增删改,sort 默认按字符串 Unicode 排序,需传入比较函数实现数值排序。
  2. 【回答框架 2】查找和遍历方法包括 forEach、map、filter、some、every、find、findIndex、indexOf、lastIndexOf,其中 map 返回新数组,filter 筛选元素,find 返回第一个满足条件的值,some 和 every 检查是否部分或全部满足。
  3. 【回答框架 3】拼接合并类方法有 concat、join、slice,concat 返回新数组,join 将元素转为字符串连接,slice 返回浅拷贝子数组不修改原数组。
  4. 【回答框架 4】归纳时可对比是否会改变原数组,哪些返回新数组,以及 ES6 新增方法如 includes、flat、flatMap 的用法。
  5. 【关键点 1】方法分为修改原数组与非修改类,返回类型不同。
  6. 【关键点 2】forEach 不返回新数组而 map 返回新数组。
  7. 【关键点 3】排序默认按 Unicode 字符串转换,需传递比较函数。
  8. 【关键点 4】slice 和 splice 区别:前者返回子数组不修改原数组,后者修改原数组。
  9. 【关键点 5】includes 用于判断是否存在元素,indexOf 返回索引。
  10. 【易错点 1】误以为 forEach 可以中断循环,实际需使用 some 或抛出异常。
  11. 【易错点 2】sort 直接修改原数组且默认按字符串排序,容易忽略数值排序问题。
  12. 【易错点 3】slice 是浅拷贝,当数组元素为对象时修改对象属性会影响原数组。