Javascript 返回数组中不使用数学运算的最小数
我需要创建一个返回数组中最低数字的函数,我似乎无法理解这一点,这里的其他问题也没有任何帮助,因为他们用我从未见过的代码给出了答案,所以我有这个,但它总是返回“0”而不是80,所以你能帮我编写代码吗Javascript 返回数组中不使用数学运算的最小数,javascript,Javascript,我需要创建一个返回数组中最低数字的函数,我似乎无法理解这一点,这里的其他问题也没有任何帮助,因为他们用我从未见过的代码给出了答案,所以我有这个,但它总是返回“0”而不是80,所以你能帮我编写代码吗 var值=[100,90100,80]; 功能最低等级(a){ 对于(变量i=0;i
var值=[100,90100,80];
功能最低等级(a){
对于(变量i=0;i 文件。写入(最低级(值))代码>正如前面提到的,有一些内置的方法来处理这个问题。然而,我假设这是某种家庭作业问题。
var数组=[90,1,77,-5101];
最低功能(arr){
//假设第一个是最低的
var低=arr[0];
对于(变量i=0;iarr[i]){
低=arr[i];
}
}
//将始终包含最低的数字
低回报;
}
写入(最低(数组))代码>问题就在这里
function lowestGrade(a) {
for (var i = 0; i < a.length; i++) {
if (a[i] < a.length); // < -- this is an if statement which has no effect
value = i; // <-- this just set the value to the loop index i
{
return (value); // << -- this returns at the first loop where i is zeo
}
}
}
功能最低等级(a){
对于(变量i=0;i
var value = [100, 90, 100, 80];
lowestGrade(value);
function lowestGrade (value)
{
var lowest;
for(var i = 0, cnt = value.length; i<cnt; i++){
if(typeof lowest === 'undefined') {
lowest = value[i]
} else {
if(value[i] < lowest){
lowest = value[i];
}
}
}
console.log(lowest);
}
var值=[100,90100,80];
最低等级(价值);
函数最低级(值)
{
var最低;
对于(var i=0,cnt=value.length;i,因为您特别要求不要在Javascript中使用Math对象,所以我在Stackoverflow中找到了一个答案,它以您想要的方式解决:
function mymax(a)
{
var m = -Infinity, i = 0, n = a.length;
for (; i != n; ++i) {
if (a[i] > m) {
m = a[i];
}
}
return m;
}
我不拥有这个答案,所以请检查此链接以查看原始作者的答案:var value=[100,90100,80];
功能最低等级(a){
var lowestNum=a[0];//将其设置为第一个元素
对于(vari=1;i
如果您没有学习如何排序,可以使用本机的reduce
功能
var value = [100, 90, 100, 80];
var min = value.reduce(function (pv,cv) {
return pv > cv?cv:pv
});
document.write(min);
如果(…);
结尾的分号在做什么?
为什么你从未见过的代码是坏的?有一种内置的方法来做这个…value.reduce(函数(a,b){返回avalue.slice().sort(函数(a,b){返回a-b})[0]
可以,但您可能需要防止出现null等非数值。Zack的注释效率更高(但需要ES5)。请使用document.write()
而不是console.log()
。否则它只会将结果输出到开发人员控制台。@Tarik-已修复。听起来也像是功能请求。我本来希望他们为了代码片段的目的重写和截取控制台日志语句。哦……我同意。这也是我的第一印象和期望,但结果并不像我预期的那样。你是假设一个连续的数组,如果arr[i]
不存在怎么办?@RobG-当然,有各种各样的事情可能是错误的。如果arr[i]是一个对象或字符串怎么办……如果arr
没有定义,或者根本没有数组怎么办?我假设这是一个家庭作业问题,不会在生产环境中运行:)
var value = [100, 90, 100, 80];
var min = value.reduce(function (pv,cv) {
return pv > cv?cv:pv
});
document.write(min);