你的位置:首页 > Java教程

[Java教程]js数组元素由小到大排序实例代码


js数组元素由小到大排序实例代码:
有时候需要对数组中的数字进行排序,下面是一段将数组中数字由小到大排序的代码实例,希望能够帮到大家。
实例代码如下:

var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98];var len=arr.length;console.log(arr.join(","));var newarr=[];for(var i=0;i<len;i++){ newarr.push(Math.min.apply(null,arr)); arr.splice(r(arr,Math.min.apply(null,arr)),1);}//找到最小值在数组中的位置function r(s,v){ for(k in s){  if(s[k]==v){   return k;  } }}console.log(newarr.join(","))

以上代码实现排序要求,下面简单介绍一下它的实现过程。
一.实现原理:
代码简单,原理也比是如此。就是创建一个新的数组newarr,然后使用使用Math.min.apply()获取原数组中的最小值,并将这个值放入新的数组,然后再删除元素中的这个最小值,这样旺夫循环,就实现了此功能,具体参看代码注释。
二.代码注释:
1.var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98],创建一个数组。
2.var len=arr.length,将数组的长度赋值给变量len。
3.console.log(arr.join()),返回由数组元素组成的字符串,字符串以逗号分隔。
4.var newarr=[],创建一个空数组。
5.for(var i=0;i<len;i++){},遍历数组中的元素。
6.newarr.push(Math.min.apply(null,arr)),将数组arr中的最小值放入新的数组newarr。
7.arr.splice(r(arr,Math.min.apply(null,arr)),1),删除arr数组中的最小值。
8.function r(s,v){},此函数可以返回数组中指定元素的索引,参数s是数组,参数v是数组中的一个值。
9.for(k in s){},遍历数组中的元素。
10.if(s[k]==v){ return k;},如果传入的值等于相应索引数组元素的值,就返回这个索引K。
11.console.log(newarr.join(","))输出新数组元素。
三.相关阅读:
1.join()函数可以参阅javascript的Array对象的join()方法一章节。
2.push()函数可以参阅JavaScript的Array对象的push()方法一章节。
3.Math.min()函数可以参阅javascript的Math.min()方法一章节。 
4.apply()函数可以参阅javascript的call()和apply()的作用和区别一章节。 
5.splice()函数可以参阅javascript的Array对象的splice()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9381

更多内容可以参阅:http://www.softwhy.com/javascript/