js有序數組中插入一個元素,並有序的輸出

題目:比較傳入函數的參數,將參數組成數組,從小到大排序,返回新的數組。數組

如:函數

insert();console.log(arr); //[]
 insert(-1,-2); console.log(arr);//[-2,-1]
 insert(3);console.log(arr);//[-2,-1,3]
 insert(6,4,5);console.log(arr); //[-2,-1,3,4,5,6]

代碼實現:spa

var arr = []; var index = 0; function insert() { for(let k = 0; k < arguments.length; k ++) { console.log(arguments.length); let num = arguments[k]; //數組原本是有序的,若是i項的值大於傳入的參數,在i項的位置插入,
    for (var i = 0; i < arr.length; i++) { if (arr[i] >= num) { index = i; break; } } //若是插入的位置是數組的最後
    if (i >= arr.length) { arr.push(num); } else { //若是是數組的中間或者第一個位置,則依次將index 開始到數組的最後一個元素向後移動一位,把index的位置空出來,插入新的元素
        for (let j = arr.length; j > i; j--) { arr[j] = arr[j - 1]; } arr[index] = num; } } return arr; } insert(); console.log(arr); insert(-1,-2); console.log(arr); insert(3); console.log(arr); insert(6,4,5); console.log(arr);

題目:比較傳入函數的參數,每次只能傳入一個參數,將參數組成數組,從小到大排序,返回新的數組。code

var arr = []; var index = 0function insert(num) { //數組原本是有序的,若是i項的值大於傳入的參數,在i項的位置插入,
  for (var i = 0; i < arr.length; i++) { if (arr[i] >= num) { index = i; break; } } //若是插入的位置是數組的最後
  if (i >= arr.length) { arr.push(num); } else { //若是是數組的中間或者第一個位置,則依次將index 開始到數組的最後一個元素向後移動一位,把index的位置空出來,插入新的元素
      for (let j = arr.length; j > i; j--) { arr[j] = arr[j - 1]; } arr[index] = num; } return arr; } insert(-1); insert(9);

題目:將數組中的元素從小到大排序blog

var arr = [2,6,1,4,7]; for(i=0;i<arr.length;i++){ for(j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ let temp = arr[i]; arr[i] =arr[j]; arr[j] = temp; } } } console.log(arr)
相關文章
相關標籤/搜索