在 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