学习课程:一天时间迅速准备前端面试 快速构建初级前端知识体系
讲师:双越
章节:面试讲解-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方式性能更好,传统方式兼容性更好