function maopao(arr) {
for(let i =0; i<arr.length; i++) {
for(let j=0; j<arr.length-i; j++){
if(arr[j]>arr[j+1]){
[arr[j],arr[j+1]] = [arr[j+1],arr[j]]
}
}
}
return arr
}
function quickSort(arr, start, end) {
if (start > end) {
return;
}
let i = start,
j = end,
pivot = arr[start]; //存放基准数
while (i !== j) {
// 从右边开始,找第一个小于基准的位置
while (arr[j] >= pivot && i < j) {
j--;
}
// 从左边开始,找第一个大于基准的位置
while (arr[i] <= pivot && i < j) {
i++
}
// 交换两个数
if (i < j) {
let tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
// 最后把基准数归位
arr[start] = arr[i];
arr[i] = pivot;
// 递归处理左边
quickSort(arr, start, i - 1);
// 递归处理右边
quickSort(arr, i + 1, end);
}
var arr = [6, 1, 2, 7, 9, 3, 4, 5, 10, 8];
quickSort(arr, 0, arr.length - 1);
console.log(arr);
- 比较两个对象是否相同
//简易版
function diff(obj1,obj2){
let o1 = obj1 instanceof Object;
let o2 = obj2 instanceof Object;
if( !o1 || !o2 ){
return obj1 === obj2
}
if( Object.keys(obj1).length !== Object.keys(obj2).length ){
return false;
}
for(let key in obj1){
let o1 = obj1[key] instanceof Object;
let o2 = obj2[key] instanceof Object;
if(o1 && o2){
return diff(obj1[key],obj2[key]);
}
else if(!o1 && !o2){
return obj1[key] === obj2[key];
}
else {
return false;
}
}
}