用js进行排序

1.常见的就是冒泡法

function bubbleSort(arr) {
      if (Array.isArray(arr)) {
        for (var i = arr.length - 1; i > 0; i--) {
          for (var j = 0; j < i; j++) {
            if (arr[j] > arr[j + 1]) {
              [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
            }
          }
        }
        return arr;
      }
 }

2.选择排序

function selectSort(arr) {
      if (Array.isArray(arr)) {
        for (var i = 0; i < arr.length - 1; i++) {
          var minIdex = i;
          for (var j = i + 1; j < arr.length; j++) {
            minIdex = arr[j] < arr[minIdex] ? j : minIdex;
          }
          [arr[i], arr[minIdex]] = [arr[minIdex], arr[i]];
        }
        return arr;
      }
    }

 

 // 排序 升序
      compareAsc: function(property) {
        return function (a, b) {
          const value1 = a[property] || 99999999;
          const value2 = b[property] || 99999999;
          return value1 - value2;
        }
      },
// 排序 降序
      compareDes: function(property) {
        return function (a, b) {
          const value1 = a[property];
          const value2 = b[property];
          return value2 - value1;
        }
      },

 

posted @ 2020-04-21 15:39  我是木木呀  阅读(354)  评论(0编辑  收藏  举报