javascript - 在不使用 Math.max() 函数的情况下检索最大值
问题描述
我正在解决这个问题,它似乎正在让我变得最好。我的代码是执行一个返回最高值的函数,而不使用该Math.max()
函数。
var arr = [42,13,34,8, -9, 3];
function max(array, selector) {
var val = array[0];
for (var i = 1; i < array.length; i++) {
if (selector == "Max") {
if (array[i] > val) {
val = array[i];
}
}
}
return val;
}
console.log(max([42,34,8,13,-9]))
解决方案
您可以使用以下reduce
功能来做到这一点:
function max(array) {
return array.reduce((prev, curr) => prev > curr ? prev : curr, undefined)
}
console.log(max([42,34,8,13,-9]))
console.log(max([-1, -50,-9]))
console.log(max([]))
推荐阅读
- python - 创建大量类实例有什么缺点吗?
- ubuntu - Openstack Compute 节点未在管理程序列表中列出
- c# - C# 中的泛型类型和字段访问
- ansible - 将变量传递给 AWX 或 Ansible Tower 中的连续播放
- laravel - 将元素添加到 laravel 路由 http://mywebsite/[element]/myroute - Laravel 和 VueJS
- c# - 当我们使用 JavaScript Asp.net C# 关闭任何浏览器时如何关闭浏览器会话
- azure - 使用 Azure Graph API 检索个人资料图片信息
- python - 在 PySpark 上运行 NuPIC 模型时出现 ImportError
- c# - system.Threading.Timer 是如何工作的?
- javascript - 在操作现有页面时移动函数中创建的元素