|M| 200分求:幕白兄写的一段JS代码说明 补分贴..也还有一个问题没有看清
原贴:http://community.csdn.net/Expert/topic/5407/5407376.xml?temp=.4102594
其实那段JS主要是以下两句
ary[i] = new Array(parseInt(table1.rows[i].cells[1].childNodes[1].innerHTML),table1.rows[i]);
table1.moveRow(ary[i][1].rowIndex,i+1);
我原来理解的做法为ary[i] = new Array(parseInt(table1.rows[i].cells[1].childNodes[1].innerHTML),i);
table1.moveRow(ary[i][1]i+1);
这样只传了行号.但当有moveRow的时候行就出错了
而幕白兄给的table1.rows[i]这么一行整行的对像
然后在ary[i][1].rowIndex这里得到不管table1改变后的新行位置,进行移动
上面对行的移动已经理解现在不理解的是
ary = ary.sort(DoSort);
//如果在C#里的DataView排序为ary.sort( "工资 ") 但这里为???
function DoSort(e1,e2)
{
return e2[0] -e1[0];
//上面是怎么进行排序的
}
他如何给ary进行排序
------解决方案-------------------- <div id= "div1 "> </div>
<script>
var ary = new Array(3,2,1,4)
ary.sort(DoSort);
function DoSort(a1,a2)
{
div1.innerHTML += a1 + ", "+a2+ " <BR> ";
return a1 -a2;
}
</script>
------解决方案--------------------zyciis 老哥的号 好多啊.....
------解决方案--------------------又见送分贴...
------解决方案--------------------up
------解决方案--------------------如果自己写就是这样子,但算法有点不同,
它的算法优一些.
<div id= "div1 "> </div>
<div id= "div2 " style= "color:Blue "> </div>
<script>
var ary = new Array(3,2,1,4)
ary.sort(DoSort);
ShowAry();
div1.innerHTML += " <BR> 下一次手工排序 <BR> ";
ary = new Array(3,2,1,4)
for(var j=ary.length-1;j> -1;j--)
{
for(var i=0;i <j;i++)
{
if(DoSort(ary[i],ary[i+1])> 0)
{
var temp = ary[i];
ary[i] = ary[i+1];
ary[i+1] = temp;
}
}
}
ShowAry();
function DoSort(a1,a2)
{
div1.innerHTML += a1 + ", "+a2+ " <BR> ";
return a1 -a2;
}
function ShowAry()
{
div2.innerHTML += ary.join( ", ")+ " <BR> ";
}
</script>
------解决方案--------------------lz不错 加油-_-#
------解决方案--------------------一样的,利用函数里的比较方法进行排序
------解决方案--------------------帮你顶!学习中!
------解决方案--------------------对于一个指定谁来回答的问题,而且一天问两次(两个问题基本相同),我觉得我说送分也不为过吧!
如果lz觉得我的那句话伤害了你,我向你道歉.
------解决方案--------------------前辈加油~你让我看到了希望......
看来我也是可以成功的...
------解决方案--------------------路过