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