在 JavaScript 中檢查一個數組是遞減、遞增還是未排序


我們需要編寫一個 JavaScript 函式來接收數字陣列。此函式應檢查陣列中的數字是按照升序、降序還是沒有特定順序排列的。

如果陣列中僅包含一個元素,那麼我們應該返回一條訊息,指出元素數量不夠。

並且如果陣列的所有元素都相等,那麼我們應該返回一條訊息,指出所有元素都相等。

示例

其程式碼如下 −

const arr1 = [7, 2, 1, 3, 2, 1];
const arr2 = [1, 1, 2, 3, 7, 7];
const determineOrder = arr => {
   if(arr.length < 2){
      return 'not enough items';
   };
   let ascending = null;
   let nextArr = arr.slice(1);
   for(var i = 0; i < nextArr.length; i++) {
      if(nextArr[i] === arr[i]){
         continue;
      }else if(ascending === null) {
         ascending = nextArr[i] > arr[i];
      }else if (ascending !== nextArr[i] > arr[i]){
         return 'unsorted';
      };
   }
   if(ascending === null){
      return 'all items are equal';
   };
   return ascending ? 'ascending' : 'descending';
};
console.log(determineOrder(arr1));
console.log(determineOrder(arr2));
console.log(determineOrder([1, 1, 1, 1]));
console.log(determineOrder([7, 2, 2, 1]));

輸出

控制檯中的輸出 −

unsorted
ascending
all items are equal
descending

更新於: 10-10-2020

1K+ 檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.