数组去重方法1,2,3
第一种方法:写个判断是否相等的函数,然后调用这个函数生成一个新数组
function norepeat(arr) { var brr=[]; for(var i=0;i<arr.length;i++){ if(!fn(brr,arr[i])){ //brr,arr[i]是实参进入fn函数中,brr这个空数组与a[i],逐个相比,若不相同,则把这个a[i]放入brr数组中。 //if(!fn(brr,arr[i])表示brr与arr[i]不相等时,因为if里面的条件为真才往下执行。 //这里if里的条件是当brr与arr[i]不相同时往下执行。 brr.push(arr[i]) } } return brr; } var a=norepeat([3,8,6,5,48,9,5,89,56,5,8,46,5]) console.log(a); function fn(ar,n) { //这个函数就是用来比较两个数字是不是相等的,如果相等返回true(这里设置布尔值是为了给上面的if做判断) for(var i=0;i<ar.length;i++){ if (ar[i]===n){ return true } } return false; }
判断是否相等的函数:
/ /函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型 function has(arr,n){ // 先拿到所有数据 for(var i=0;i<arr.length;i++){ // 比较 if(arr[i] === n){ // 有 return true; } } // 直到循环结束后,还没有找到,再说没有 return false; } var a = has([34,67,89,12,54],"54") console.log(a)
第二种方法:将数组的每一个元素依次与其他元素做比较,发现重复元素,删除
var a=[5,6,5,8,4,8,54,8,4,4,4,4,4,4] for(var i=0;i<a.length;i++){ for (var j=i+1;j<a.length;j++){ if(a[i]==a[j]){ a.splice(j,1) j--; } } } console.log(a)
第三种方法:
去重加排序
var crr=[]
var arr=[3,6,6,5,4,2,5,9,8,9,9]
var s=new Set(arr)
for(var i of s){
crr.push(i)
}
console.log(arr)
crr.sort(function (a,b) {
return a-b;
})
console.log(crr)
长风破浪会有时,直挂云帆济沧海
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!