[源计划] is-sorted

A small module to check if an Array is sorted.

var sorted = require('is-sorted')

console.log(sorted([3, 1, 2]))
// => false

// supports custom comparators
console.log(sorted([3, 2, 1], function (a, b) { return b - a })
// => true

GitHub

源码

function defaultComparator (a, b) {
  return a - b
}

module.exports = function checksort (array, comparator) {
  comparator = comparator || defaultComparator

  for (var i = 1, length = array.length; i < length; ++i) {
    if (comparator(array[i - 1], array[i]) > 0) return false
  }

  return true
}

思考

默认比较规则是数组元素从小到大,可传入自定义规则。
checksort 函数实现方式很简单,就是依次取出数组中的元素,一旦发现不符合比较规则就返回 false

原文地址:https://www.cnblogs.com/aaronzhou001/p/9115390.html