如何在不使用Math.min.apply
的情况下找到数组中的最小数字?我必须使用for-loop
。
var arr = [5,1,9,5,7];
答案 0 :(得分:7)
如果必须使用for
循环:
var arr = [5,1,9,5,7];
var smallest = arr[0];
for(var i=1; i<arr.length; i++){
if(arr[i] < smallest){
smallest = arr[i];
}
}
console.log(smallest);
答案 1 :(得分:4)
现在看看我自己的问题......我看起来很傻。
以下是找到数组中最小数字的完美解决方案:
var arr = [5, 1, 9, 5, 7];
var smallest = arr.sort((a, b) => a > b);
alert(smallest[0]);
答案 2 :(得分:2)
只需对数组进行排序并获取第一个值,即可。
如果你必须使用for循环:
var arr = [5,1,9,5,7];
for (var i=0; i<1; i++) {
arr.sort();
}
return arr[0];
答案 3 :(得分:1)
这是一个使用for循环的简单解决方案。
var arr = [5,1,9,5,7];
var smallest = arr[0];
for (var i=0; i<arr.length; i++){
if (arr[i]<smallest){
smallest = arr[i];
}
}
return smallest;
返回1.
答案 4 :(得分:0)
不使用for循环(ES6)的替代解决方案。 JavaScript reduce方法是一个不错的选择。
var arr = [5,1,9,5,7];
var smallest = arr.reduce((prev,next) => prev>next ? next : prev);
var largest = arr.reduce((prev,next) => prev<next ? next : prev);