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){ var o1 = obj1 instanceof Object; var o2 = obj2 instanceof Object; if(!o1 || !o2){/* 判斷不是對象 */ return obj1 === obj2; } if(Object.keys(obj1).length !== Object.keys(obj2).length){ return false; } for(var attr in obj1){ var t1 = obj1[attr] instanceof Object; var t2 = obj2[attr] instanceof Object; if(t1 && t2){ //若是沒有return diff 就不會跳出函數,直接返回下面的true return diff(obj1[attr],obj2[attr]); }else if(obj1[attr] !== obj2[attr]){ return false; } } return true; }