2019年2月18日 星期一

[Back To Basic] Javascript - Array Sort

陣列排序

  • sort()
    • 依照字母排序
    • 預設以字串型別排序
  • reverse()
    • 反排序
  • sort(compareFunction)
    • 數字排序
var compareFunction = function(a, b) {
  return a - b
};
  • sort(randomFunction)
    • 亂數排序
var randomFunction = function(a, b) {
  return 0.5 - Math.random();
};
  • 取得最大值
var numberList = [47, 38, 96, 7, 15, 9];
var maxNumber = Math.max.apply(null, numberList);
  • 取得最小值
var numberList = [47, 38, 96, 7, 15, 9];
var minNumber = Math.min.apply(null, numberList);
  • 自定義取得最大值函式(效能比內建的好)
var getArrayMax = function getArrayMax(arr) {
  var len = arr.length;
  var max = -Infinity;
  while (len--) {
    if (arr[len] > max) {
      max = arr[len];
    }
  }
  return max;
}
  • 自定義取得最小值函式(效能比內建的好)
function getArrayMin(arr) {
  var len = arr.length;
  var min = Infinity;
  while (len--) {
    if (arr[len] < min) {
      min = arr[len];
    }
  }
  return min;
}

物件排序

雖然物件可以包含很多種不同的資料型態,但仍然可以自定義function來排序

沒有留言:

張貼留言