我希望min()选择列表中的两个最小数字,这是可能的,我应该怎么做?
答案 0 :(得分:4)
实际上,Math.min只给你一个列表中最小的一个,所以你需要简单地对它们进行排序并获取你需要的数量:
list = [7,4,5,4,2,23,4,6,4,6];
smalls = list.sort(function(a,b){return a-b}).slice(0,2);
alert(smalls); // shows "2, 4"
答案 1 :(得分:0)
排序有点低效,因为它占用了O(n log n)时间。你可以用一次传球做同样的事情。只需保留初始化为空(或负无效)或其他内容的变量。
对于遇到的每个元素,检查两个变量并相应地更新。
这很简单,但它只占用线性时间O(n)。
答案 2 :(得分:-1)
搜索“Math”的文档(它是一个包含许多有用的数学相关函数和变量的javascript对象)。