在 JavaScript 中查找数组的最小/最大元素

新手上路,请多包涵

如何轻松获取 JavaScript 数组的最小或最大元素?

示例伪代码:

let array = [100, 0, 50]

array.min() //=> 0
array.max() //=> 100

原文由 HankH 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 722
1 个回答

如何扩充内置数组对象以使用 Math.max / Math.min 代替:

 Array.prototype.max = function() {
  return Math.max.apply(null, this);
};

Array.prototype.min = function() {
  return Math.min.apply(null, this);
};

let p = [35,2,65,7,8,9,12,121,33,99];

console.log(`Max value is: ${p.max()}` +
  `\nMin value is: ${p.min()}`);

这是一个 JSFiddle

增加内置函数可能会导致与其他库的冲突(有些人会看到),因此您可能更愿意直接将 apply ing Math.xxx() 直接添加到您的数组中:

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


或者,假设您的浏览器支持 ECMAScript 6,您可以使用 传播语法,其功能类似于 apply 方法:

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

原文由 Roatin Marth 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题