在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP