逻辑:使用冒泡排序法,依次比较两个相邻的元素
js实现:
var cloneData = [1,2,3,4,5];
for(var i=0;i<cloneData.length-1;i++){ //排序趟数 注意是小于
for(var j=0;j<cloneData.length-i-1;j++){
//一趟确认一个数,数组长度减当前趟数就是剩下未确认的数需要比较的次数
//因为j从0开始,所以还要再减1,或者理解为arr.length-(i+1)
if(cloneData[j]<cloneData[j+1]){//如果是要从小到大排序则将大于号改为小于号
var temp=cloneData[j];
cloneData[j]=cloneData[j+1];
cloneData[j+1]=temp;
}
}
}
dojo实现:
var cloneData = [1,2,6,3,8,4,5,0];
array.forEach(cloneData,function (clod1,index1) {
array.some(cloneData,function (cold2,index2) {
if(index2 >= cloneData.length - 1 - index1){
return true;
}
if(cold2 < cloneData[index2 + 1]){//如果是要从小到大排序则将大于号改为小于号
var temp = cloneData[index2];
cloneData[index2] = cloneData[index2 + 1];
cloneData[index2 + 1] = temp;
}
});
});