检查数组在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