原生js数组去重与排序
//数组排序 初始化
var arr = [];
var arr1 = [];
var arr2 = [];
var arr3 = [];
var arr4 = [];
for(var i=0 ; i< 20; i++){
arr.push(Math.floor(Math.random()*10));
arr1.push(Math.floor(Math.random()*10));
arr2.push(Math.floor(Math.random()*10));
arr3.push(Math.floor(Math.random()*10));
arr4.push(Math.floor(Math.random()*10));
}
//数组去重
console.log('==数组去重==');
console.log(arr);
function arrDup(ele){
for(var i=0; i<ele.length-1; i++){
for(var j=i+1; j<ele.length; j++){
if(ele[i] == ele[j]){
ele.splice(j,1);
j--;
}
}
}
return ele;
}
console.log(arrDup(arr))
//选择排序
console.log('==选择排序==');
console.log(arr1);
for(var i=0; i<arr1.length; i++){
var min = i;
for(var j=i+1; j<arr1.length; j++){
if(arr1[min] > arr1[j]){
min = j;
}
}
if(i != min){
var temp = arr1[i];
arr1[i] = arr1[min];
arr1[min] = temp;
}
}
console.log(arr1);
//冒泡排序
console.log('==冒泡排序==');
console.log(arr2);
for(var i=0; i<arr2.length-1; i++){
for(var j=0; j<arr2.length-1-i; j++){
if(arr2[j] > arr2[j+1]){
var temp = arr2[j];
arr2[j] = arr2[j+1];
arr2[j+1] = temp;
}
}
}
console.log(arr2);
//快速排序
console.log('==快速排序==');
console.log(arr3);
function quickSort(arr){
if(arr.length <=1){
return arr;
}
var centId = Math.floor(arr.length/2);
var cent = arr.splice(centId,1)[0];
var left = [];
var right = [];
for(var i=0; i<arr.length; i++){
if(arr[i] > cent){
right.push(arr[i]);
}else{
left.push(arr[i]);
}
}
return quickSort(left).concat(cent,quickSort(right));
}
console.log(quickSort(arr3));
//自带排序方法
console.log('==自带排序方法==')
console.log(arr4);
var sor = arr4.sort(function(a,b){
return a - b;
})
console.log(sor);
————————————————
版权声明:本文为CSDN博主「JackieDYH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/JackieDYH/article/details/105798626
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器