isSorted - 是否为排序数组
优质
小牛编辑
121浏览
2023-12-01
如果数组按升序排序,则返回 1
;如果按降序排列则返回-1
;如果未排序则返回0
。
计算前两个元素的排序方向 direction
。 使用 Object.entries()
来循环使用数组对象并对它们进行比较。 如果 direction
改变,则返回 0
,如果直到最后一个元素, direction
没有改变,则返回 direction
。
const isSorted = 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; };
isSorted([0, 1, 2, 2]); // 1 isSorted([4, 3, 2]); // -1 isSorted([4, 3, 5]); // 0