7

如何在不使用的情况下找到数组中的最小数字Math.min.apply

var arr = [5,1,9,5,7];
4

8 回答 8

11

如果必须使用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);
于 2013-10-17T16:58:43.363 回答
10

现在看我自己的问题..我看起来很傻。

下面将是找到数组中最小数字的完美解决方案:

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]);

于 2017-03-01T05:56:13.943 回答
2

只需对数组进行排序并取第一个值,很容易。

如果必须使用 for 循环:

var arr = [5,1,9,5,7];
for (var i=0; i<1; i++) {
    arr.sort();
}
return arr[0];
于 2013-10-17T16:58:06.250 回答
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。

于 2013-10-17T17:08:29.940 回答
0

var arr = [5, 1, 9, 5, 7,-1,0,5,11,100,-0.5];

var smallest = arr.sort();

console.log(smallest[0]);

于 2021-12-14T06:52:36.527 回答
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);
于 2020-01-22T11:18:12.347 回答
0

创建一个函数,以便您可以根据需要重用它。在这里,我只是展示了一个最小数字查找器的示例。

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);

于 2022-02-03T09:07:48.880 回答
0

你可以试试这个

const min = (arr) => {
 return arr.sort((a, b) => a - b)[0];
 };

这个 min() 函数应该完成工作

于 2021-12-14T06:40:12.557 回答