找出数组最小值的小标,为何这个代码出错了?

爆小猴 2013-09-29 11:03:02

var t=[2,2,2,2,1,2,2,3];
var min=t[0];
for(i=0;i<t.length;i++)
{
if(min>t[i])
{
min=i;
}
}
alert(min);
...全文
171 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizj19 2013-09-29
  • 打赏
  • 举报
回复
判断到第5次的时候 min = 5 再怎么比较 他都比后面打,最后min的值就变成了length-1
zhjdg 2013-09-29
  • 打赏
  • 举报
回复
var t=[2,2,2,2,1,2,2,3];
var min=t[0];
var index;
for(i=0;i<t.length;i++)
{
    if(min>t[i])
    {
        min=t[i];
        index = i;
    }
}
alert(index);
闲鱼野鹤-PJY 2013-09-29
  • 打赏
  • 举报
回复
var t=[2,2,2,2,1,2,2,3]; var min=0; var temp=0; for(i=0;i<t.length;i++) { if(t[min]>t[i]) { min=i; temp=t[min]; } } alert("the"+min+":"+temp);
lzc0653 2013-09-29
  • 打赏
  • 举报
回复
Math.min.apply(Math,t);
闲鱼野鹤-PJY 2013-09-29
  • 打赏
  • 举报
回复
哪报错了,只不过值是7
  • 打赏
  • 举报
回复
引用 楼主 ze_1314 的回复:

var t=[2,2,2,2,1,2,2,3];
var min=t[0];
for(i=0;i<t.length;i++)
{
    if(min>t[i])
    {
        min=i;
    }
}
alert(min);
当然有错了 你其中min是值,而i是下标,你把下标的i值复制给了min,然后再用min来跟下标i的数组值来比较?这不太扯了么
fzfei2 2013-09-29
  • 打赏
  • 举报
回复
if(t[min]>t[i])

var t=[2,2,2,2,1,2,2,3];
var min=0;
for(i=0;i<t.length;i++)
{
    if(t[min]>t[i])
    {
        min=i;
    }
}
alert(min);

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧