基于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]
//数组元素重复比较计算出现次数
复制代码

 

posted @   cc-front  阅读(191)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示