如何在不使用的情况下找到数组中的最小数字Math.min.apply
?
var arr = [5,1,9,5,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);
现在看我自己的问题..我看起来很傻。
下面将是找到数组中最小数字的完美解决方案:
By default, the sort method sorts elements alphabetically. To sort numerically just add a new method which handles numeric sorts
var arr = [5, 1, 9, 5, 7];
var smallest = arr.sort((a, b) => a - b);
alert(smallest[0]);
只需对数组进行排序并取第一个值,很容易。
如果必须使用 for 循环:
var arr = [5,1,9,5,7];
for (var i=0; i<1; i++) {
arr.sort();
}
return arr[0];
这是一个使用 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。
var arr = [5, 1, 9, 5, 7,-1,0,5,11,100,-0.5];
var smallest = arr.sort();
console.log(smallest[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);
创建一个函数,以便您可以根据需要重用它。在这里,我只是展示了一个最小数字查找器的示例。
function smallestNumber(number){
let min = number[0];
for(let i = 0; i < number.length; i++){
let element = number[i];
if( element < min ){
min = element
}
}
return min;
}
let totalNum = [25,50,75,56,11,50,7,9,12];
let result = smallestNumber(totalNum);
console.log('The small number is : ',result);
你可以试试这个
const min = (arr) => {
return arr.sort((a, b) => a - b)[0];
};
这个 min() 函数应该完成工作