问题:在html中编写网页,一个table,需要按列对table进行排序。
方法:使用JavaScript自带的sort函数进行排序。
注意:在html文件中,所有的函数及操作均应写在
<script type="text/javascript">
</script>
中,直接在<body></body>中写函数是无法执行的。
实例代码:
1.整数类型排序
<script type="text/javascript">
function sortNumber(a, b) {
return a - b }var arrNum = new Array(6);
arrNum[0] = "6"; arrNum[1] = "4"; arrNum[2] = "5"; arrNum[3] = "3"; arrNum[4] = "1"; arrNum[5] = "2";<!--下面为排序过程,调用了前述的sortNumber函数,采用冒泡排序的方法-->
arrNum.sort(sortNumber);
<!--排序不产生新的数组,直接将原数组替换为排序后的数组,调用排序后数组元素的表达式为 arrNum.sort(sortNumber)[n],n为数组下标-->
<!--显示排序后数组的第一个元素,下标为0-->
document.write(arrNum.sort(sortNumber)[0]);
</script>
2.英文字符类型排序
<script type="text/javascript">
var arrNam = new Array(6);
arrNam[0] = "b"; arrNam[1] = "a"; arrNam[2] = "e"; arrNam[3] = "d"; arrNam[4] = "c"; arrNam[5] = "f";<!--下面为排序过程-->
arrNam.sort();
<!--其他与整数类型排序类似-->
</script>
3.中文字符排序,涉及到编码问题,使用sort函数不能得到按拼音排序的结果。
<script type="text/javascript">
var arrSource = new Array(6);
arrSource[0] = "风"; arrSource[1] = "景" ; arrSource[2] = "这" ; arrSource[3] = "边" ; arrSource[4] = "独" ; arrSource[5] = "好" ;<!--下面为排序过程,调用localeCompare()函数,使用本地编码方式进行排序-->
arrSource.sort(function (a, b) { return a.localeCompare(b) });
<!--其他与整数类型排序类似-->
</script>