原生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

posted @ 2021-10-21 11:30  举个栗子走天下  阅读(99)  评论(0编辑  收藏  举报