码迷,mamicode.com
首页 > 编程语言 > 详细

js数组元素由小到大排序实例代码

时间:2016-01-09 12:16:28      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

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/

js数组元素由小到大排序实例代码

标签:

原文地址:http://www.cnblogs.com/come-on/p/5115631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!