var arr = [2, 3, 5, 1, 2, 5, 3, 4];
选着排序;将定某个位置是最大值
用将定的最大值 与其他元素比较.
在比较过程程进行,如果存在于笔最大值还大的数,就进行换值处理
以此类推,做到 大值在前 小值在后,实现降序效果
for (var i = 0; i < arr.length; i++) {
arr[i]; // 用arr[i] 与数组中所有的元素
for (var j = 0; j < arr.length; j++) {
if (arr[i] > arr[j]) {
大值在前 小值在后
---> 换值处理
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
console.log(arr);
sort api
var res = arr.sort(function(a,b){
return a-b
})
console.log(res,arr);
选择排序的升序
for (var i = 0; i < arr.length; i++) {
arr[i]; // 用arr[i] 与数组中所有的元素
for (var j = 0; j < arr.length; j++) {
if (arr[i] < arr[j]) {
// 大值在前 小值在后
/// ---> 换值处理
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
console.log(arr);
for(var i = 0;i<arr.length;i++){
console.log('第'+(i+1)+"次比较")
// i+1 用当前元素 arr[i] 于i后面的所有元素比较 j 初始化为 i+1
for(var j = i+1;j<arr.length;j++){
// // 查看 循环中获取元素 arr[i] arr[j] 过程
console.log('i====',arr[i],'j=====',arr[j]);
// 实现 arr[i] 与 arr[j] 比较 换值处理
if(arr[i]>arr[j]){
console.log('进行比较i====',arr[i],'j=====',arr[j]);
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
console.log(arr);
}
}
}
console.log(arr);
对象排序
var arrObj = [
{name:'凤飞飞',age:20},
{name:'冯绍峰',age:23},
{name:'非凡',age:21},
{name:'飞速发',age:19},
{name:'发色',age:23},
]
for(var i = 0;i<arrObj.length;i++){
console.log(arrObj[i].age);
for(var j = i+1;j<arrObj.length;j++){
if(arrObj[i].age>arrObj[j].age){ // 比较式age
// 换值式对象
var tmp = arrObj[i];
arrObj[i] = arrObj[j];
arrObj[j] = tmp
}
}
}
console.log(arrObj);