Math.max方法背后的逻辑是什么
What is logic behind Math.max method?
我想创建一个函数max,它将返回最大值数字。
到目前为止,我做到了:
function max() {
var arr = [];
for (var i in arguments) {
arr.push(arguments[i]);
}
arr.sort(function (a, b) {
return b - a;
});
return arr[0];
}
var test = max(30, 20, 50, 40, 100, 150, 5, 230);
var test2 = Math.max(30, 20, 50, 40, 100, 150, 5, 230);
两者均返回230;
但我不想使用内置功能,即Math.max。也没有原型。那么我该怎么做呢?
如有任何指导,我们将不胜感激。
试试这个
function max(arr)
{
var largest;
if(arr.length>0)
largest=arr[0];
else
largest = 0;
for(var i=0;i<arr.length;i++)
{
if(arr[i]>largest)
largest = arr[i];
}
return largest;
}
真的很简单。这可以在O(n)
时间内通过循环通过array
一次来完成。
在伪码中:
number := first item in list.
for each item in the list
if(number < item)
number := item.
end if
end for
print("Max is: " + number).
尽管如此,你的方法似乎很有效。
相关文章:
- “var self = this”方法背后的原理是什么?
- React Router 如何处理 onEnter 背后的逻辑是什么?
- 让函数中的接收器默认为全局对象背后的基本原理是什么?
- AJAX 跨域安全背后的基本原理是什么?
- Facebook评论API - Facebook所说的“评论框背后”是什么意思
- Lightstreamer背后的魔力是什么
- d3背后的逻辑是什么.js nice()刻度
- JavaScript:“shift”方法背后的逻辑是什么?
- Math.max方法背后的逻辑是什么
- 与compareFunction一起使用的排序方法背后的逻辑是什么
- 用continuation生成Javascript代码背后的诀窍是什么
- 窗口背后的原因和窗口的顶部属性是什么
- 名称空间背后的概念是什么
- 堆栈溢出背后的算法是什么? ajax标记搜索字段
- 网站上的3D图像非常酷,但这背后的技术是什么?
- 使用Object.assign创建对象背后的思想是什么?
- canPlayType背后的原理是什么?
- javascript中var a = (expression1, expression2)背后的原因是什么?
- 错误处理-当JavaScript抛出ReferenceError时,其背后的逻辑是什么
- 选择一个完整的基于CSS的菜单和基于Javascript/CSS的菜单背后的基本原理是什么?