JS 获取数组最大值/最小值的方法

1.for 循环遍历取数组最大值,取最小值同理

var arr = [1, 26, 8, 47, -5, 133, 90];

var max = arr[0]; // 先假设数组第一个元素即最大值

for (var i = 0; i < arr.length; i++) {
  if (arr[i] > max) {
    max = arr[i];
  }
}

console.log(max);
// > 133

2.使用 sort() 方法取数组最大值,取最小值同理

var arr = [1, 26, 8, 47, -5, 133, 90];

// 将数组元素从大到小排序
arr.sort(function(a, b) {
  return b - a;
});

var max = arr[0];

console.log(max);

3.使用 reduce() 方法取数组最大值,取最小值同理

var arr = [1, 26, 8, 47, -5, 133, 90];

var max = arr[0]; // 先假设数组第一个元素即最大值

max = arr.reduce(function(max, val) {
  return max > val ? max : val;
}, max);

console.log(max);
// > 133

4.使用 Math.max() / Math.min()、apply() / ES6 扩展操作符(…) 方法取数组最大值/最小值

var arr = [1, 26, 8, 47, -5, 133, 90];

var max = Math.max.apply(null, arr);

var min = Math.min.apply(null, arr);

console.log(max);
// > 133
console.log(min);
// > -5

var arr = [1, 26, 8, 47, -5, 133, 90];

var max = Math.max(...arr);

var min = Math.min(...arr);

console.log(max);
// > 133
console.log(min);
// > -5
此条目发表在JavaScript分类目录,贴了, , , 标签。将固定链接加入收藏夹。