原生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);
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634726.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现