- 1
- 0
- 约5.56千字
- 约 9页
- 2026-10-13 发布于河北
- 举报
JS高频算法面试题(含详细真实面试版答案)
前言:本题库为前端面试真实高频算法题,剔除冷门题型,答案以面试官认可的解题思路、精简可运行代码、通俗解释为主,适合跳槽、校招面试突击复习。
一、基础数组算法(面试必考)
1.数组去重(多种方法+优劣对比)
题目:给定一个包含重复值的普通数组,去除重复元素,返回新数组,不修改原数组。
方法1:Set最简写法(工作/面试首选)
javascript
functionuniqueArr(arr){
return[...newSet(arr)];
}
解析:Set数据结构特性是元素唯一,自动去重,扩展运算符转回数组。优点:代码极简、性能好;缺点:无法去重空对象、空数组(引用类型无法判断),仅适用于基础数据类型。
方法2:indexOf遍历(兼容低版本,面试基础答法)
javascript
functionuniqueArr(arr){
constres=[];
for(leti=0;iarr.length;i++){
if(res.indexOf(arr[i])===-1){
res.push(arr[i]);
}
}
returnres;
}
解析:遍历原数组,新数组中不存在当前元素则推入。缺点:性能一般,indexOf无法识别NaN,会导
原创力文档

文档评论(0)