SOURCE

// function binarySearch(target,arr) {
//     var start   = 0;
//     var end     = arr.length-1;

//     while (start<=end){
//         var mid = Number.parseInt(start+(end-start)/2);
//       console.log(mid)
//         if(target==arr[mid]){
//             return mid;
//         }else if(target>arr[mid]){
//             start   = mid+1;
//         }else{
//             end     = mid-1;
//         }
//     }
//     return -1;
// }

// function binarySearch(target,arr, start=0, end=arr.length-1) {
//   var mid = Number.parseInt(start + (end - start) / 2)
//   if (start < end) {
//     if (arr[mid] === target) {
//       return mid
//     } else if (target < arr[mid]) {
//       return binarySearch(target, arr, start, mid - 1)
//     } else {
//       return binarySearch(target, arr, mid+1, end)
//     }
//   }
//   return -1
  
// }

// function selectionSort (arr) {
//   let len = arr.length
//   let minIndex
  
//   for (let i = 0; i < len; i++) {
//     minIndex = i
//     for (let j = i; j < len; j++) {
//       if (arr[j] < arr[minIndex]) {
//         minIndex = j
//       }
//     }
    
//     if (minIndex !== i) {
//       [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
//     }
//   }
  
//   return arr
// }
// console.log(selectionSort([9,5,12,24,87,8,5,1]))

// function bubbleSort (arr) {
// 	let len = arr.length
//   for (let i = 0; i< len; i++) {
//     for (let j = 0; j < len - i; j++) {
//       if (arr[j] > arr[j + 1]) {
//         [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
//       }
//     }
//   }
//   return arr
// }

// console.log(bubbleSort([9,5,12,24,87,8,5,1]))

function insertSort (arr) {
  let len = arr.length
  let j
  for (let i = 1; i < len; i++) {
    j = i
    while (j > 0) {
      if (arr[j] < arr[j-1]) {
        [arr[j], arr[j - 1]] = [arr[j - 1], arr[j]]
      }
      j--
    }
  }
  return arr
    
}

console.log(insertSort([5,4,3,2,1]))



// console.log(binarySearch(9, [1,3,4,5,6,9,55, 60]))
console 命令行工具 X clear

                    
>
console