var s = [1,3,5,2,3,53,2,3,1]; function insertionSort(arr) { for (var gap = Math.floor(arr.length/2);gap > 0; gap = Math.floor(gap/2)) for (var outer = gap; outer <= arr.length - 1; outer++) { var temp = arr[outer]; var index = outer; while (index > 0 && arr[index - gap] > temp) { arr[index] = arr[index - gap]; index = index - gap; } arr[index] = temp; } return arr; } console.log(insertionSort(s));