判断数组是升序、降序、还是乱序
//判断数组是升序、降序、还是乱序
function determineOrder(arr){
if(arr.length < 2){//单个不用排序,默认为升序
return 'asc';
};
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 ? 'asc' : 'desc';
}
arr = [1,3,4,6] //升序,
arr = [6,4,3,2] //降序,
arr = [1,4,3,6] //乱序,
判断数组是否连续
//判断数组是否连续
function determineOrder(arr){
var i=arr[0];
var isContinuation = true;
for(var e in arr){
if(arr[e] !=i ){
isContinuation=false;
break;
}
i++;
}
return isContinuation;
}
arr = [1,3,4,6] //非连续,
arr = [3,4,5,6] //连续