·您当前的位置:主页 > 技术教程 > JavaScript >

[JS]js数组排序使用教程js函数sort()用法实例

时间:2017-07-17 15:48jb51.net
[JS]js数组排序使用教程js函数sort()用法实例

avaScript实现多维数组、对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序。

sort() 方法用于对数组的元素进行排序。语法如下:

arrayObject.sort(sortby)

返回值为对数组的引用。请注意,数组在原数组上进行排序,不生成副本。

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。

  1. function NumAscSort(a,b) 
  2.  return a - b; 
  3. function NumDescSort(a,b) 
  4.  return b - a; 
  5. var arr = new Array( 3600, 5010, 10100, 801);  
  6. arr.sort(NumDescSort); 
  7. alert(arr); 
  8. arr.sort(NumAscSort); 
  9. alert(arr); 

sort(fun)接受了个排序规则函数,这个函数将比较2个数字的大小。而我们的对象数组排序,实际上原理也是一样的。
如果不比较数字的大小,则可以这样:

  1. var myarray=["Apple", "Banana", "Orange"] 
  2. myarray.sort() 

来源:http://www.jb51.net/article/67458.htm

微信付费直播
酷播云免费在线视频整体解决方案
参与开学季云视频优惠,拿GET2017教育科技大会VIP门票
进入开学季,保利威视推出云视频优惠,云视频套餐、流量超实惠大放“价”就是现在,还可以免费获取GET2017教育科技大会VIP门票哦!