在 JavaScript 中检查数组是降序、升序还是未排序

javascriptweb developmentfront end technologyobject oriented programming更新于 2026/1/19 1:48:17

我们需要编写一个 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

相关文章


有用资源