Newer
Older
smartwell_front_yizhuang / src / utils / compare.js
StephanieGitHub on 8 Jul 2020 826 bytes 亦庄迁移
/**
 * 根据对象数组中的某个属性值进行排序的方法
 * 使用例子: array.sort(compare('number',false))
 * @param property 排序的属性
 * @param rev true表示升序排序,false表示降序排序
 * @returns {function(*, *): number}
 */
export function compare(property, rev) {
  if (rev === undefined) {
    rev = 1
  } else {
    rev = (rev) ? 1 : -1
  }
  // rev是1表示升序,rev是-1表示降序
  return function(a, b) {
    const value1 = a[property]
    const value2 = b[property]
    if (value1 < value2) {
      return rev * -1
    } else if (value1 > value2) {
      return rev
    } else {
      return 0
    }
  }
}

export function compareTimeString(property) {
  return function(a, b) {
    const value1 = a[property]
    const value2 = b[property]
    return value1 - value2
  }
}