- 首先我们生成6个不同的随机数
我们利用set
结构能去除重复的这个特性,来去重
let s=new Set();
while(s.size<6){
let n=rnd(1,33);
s.add(n);
}
function rnd(n,m){
return parseInt(Math.random()*(m-n)+n);
}
- 第一步生成了6个不同的随机数,然后我们进行排序,写一个冒泡排序算法
/*
当i=0的时候,里面的循环完整执行,从j=0执行到j=6,这也就是第一遍排序,结果是将最大的数排到了最后,这一遍循环结束后的结果应该是[8,15,88,55,76,21,39,94]
当i=1的时候,里面的循环再次完整执行,由于最大的数已经在最后了,没有必要去比较数组的最后两项,这也是j<arr.length-1-i的巧妙之处,结果是[8,15,55,76,21,39,88,94]
说到这里,规律就清楚了,每次将剩下数组里面最大的一个数排到最后面,当第一个循环执行到最后的时候,也就是i=6,此时,j=0,只需要比较数组的第一和第二项,比较完毕,返回。
*/
function sortarr(arr){
for(i=0;i<arr.length-1;i++){
for(j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//排完序后进行补零
return arr.map(item=>{
return zerofill(item,2);
});
}
//补零
function zerofill(num,n){
let len=num.toString().length;
while(len<n){
num="0"+num;
len++;
}
return num;
}
- 最后调用排序函数,打印结果
console.log(sortarr(Array.from(s)));
网友评论