基于js算法数组去重将多维数组转换为一维数组用法
1.将多维数组转换为一维数组
let arr=[[0,1],[2,3],[3,4,4,[5,6]]] const newArr=function(arr){ return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[]) } console.log(newArr(arr)); //[0, 1, 2, 3, 3, 4, 4, 5, 6] //多维数组转换一维数组
2.数组去重
let arr=[1,2,2,3,4,4,5,2] let newArr=arr.reduce((pre,cur)=>{ if(!pre.includes(cur)){ return pre.concat(cur) }else{ return pre } },[]) console.log(newArr) //[1, 2, 3, 4, 5] //使用includes来判断是否包含 在定义在concat里 //数组去重
3.计算数组每个元素出现次数
let names=['a','a','b','b','c'] let nameNum = names.reduce((pre,cur)=>{ if(cur in pre){ pre[cur]++ }else{ pre[cur]=1 } return pre },[]) console.log(nameNum) //[a: 2, b: 2, c: 1] //数组元素重复比较计算出现次数

浙公网安备 33010602011771号