融智技术学院

?找回密码
?注册
查看: 733|回复: 1
打印 上一主题 下一主题

有关for in循环遍历排序的问题

[复制链接]
跳转到指定楼层
1#
luckyforhan 发表于 2016-12-20 17:19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
var oMyArray=new Array(13,55,37,33,45,9,60,21,10);
for (index in oMyArray)
{
? ? for (i in oMyArray)
{? ?
? ???if(oMyArray[index]<>
{
? ? nTemp=oMyArray[index];
oMyArray[index]=oMyArray[i];
oMyArray[i]=nTemp;
}
}
}
document.write("排序后:"+oMyArray);

以上代码是21天学通js第三章的一段代码,是有关排序的,本菜鸟一只搞不明白为什么输出的结果是升序排列???
程序第一次进入内循环的if语句的比较结果应该是:13,55,37,33,45,9,60,21,10;第二次比较的数据值应该是oMyArray[index]=13,oMyArray[i]=55,13<55
所以计较后二者应该换位 55,13,37,33,45,9,60,21,10,最终会将最大的放在最前面,但为什么运行程序是从小到大排列,希望大家不要笑我,谢谢!
2#
?楼主| luckyforhan 发表于 2016-12-20 17:30:21 | 只看该作者
我知道怎么回事了,见笑!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新突破电商

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号 )

GMT+8, 2019-11-12 10:47

Powered by Discuz! X3.2

? 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表