734 B
734 B
functionName
Returns 1 if the array is sorted in ascending order, -1 if it is sorted in descending order or 0 if it is not sorted.
Calculate the ordering direction for the first two elements.
Use Object.entries() to loop over array objects and compare them in pairs.
Return 0 if the direction changes or the direction if the last element is reached.
const isArraySorted = arr => {
const direction = arr[0] > arr[1] ? -1 : 1;
for(let [i, val] of arr.entries())
if (i === arr.length - 1) return direction;
else if ((val - arr[i + 1]) * direction > 0) return 0;
}
isArraySorted([0,1,2,3]) // 1
isArraySorted([0,1,2,2]) // 1
isArraySorted([4,3,2]) // -1
isArraySorted([4,3,5]) // 0