学习课程:一天时间迅速准备前端面试 快速构建初级前端知识体系
讲师:双越
章节:面试讲解-11数组去重有几种方式
内容概述:将url解析为js对象 手写flatern 数组去重
笔记:1、将url解析为js对象
function queryToObj(){
const res = {}
const search = location.search.str(1)
search.split('&').forEach(item=>{
const key = item.slit('=')[0]
const value = item.split('=')[1]
res[key] =res.value
})
return res
} 2、手写flatern
function flat(arr) {
const isDeep = arr.some(item => item instanceof Array)
if (!isDeep) {
return arr
}
const res = Array.prototype.concat.call([], arr)
return flat(res)
}主要应用:递归的思想,cancat方法可以把函数一级数组的数组拍平
3、数组去重
function unique(arr){
const res = []
arr.forEach(item=>{
if(res.indexof(item)<0){
res.push(item)
})
return res
} set方式
function unique(arr){
const set = nee Set(arr)
return [...set]
}set方式性能更好,传统方式兼容性更好