js中sort方式用于对数组的米素举行排序,并返回数组。默认排序顺序是凭据字符串Unicode码点。
arrayObject.sort(sortby)
参数sortby:可选。用于划定排序顺序,必须是函数。
注:若是挪用该方式时没有使用参数,将按字母顺序对数组中的米素举行排序,说得更正确点,是根据字符编码的顺序举行排序。要实现这一点,首先应把数组的米素都转换成字符串(若有需要),以便举行对照。
var arr1 = ['a', 'd', 'c', 'b']; arr.sort(); //['a', 'b', 'c', 'd'] var arr2 = [10, 5, 40, 25, 100, 1]; arr2.sort(); //[1, 10 ,100, 25, 40, 5] 这次排序似乎没有获得想要的效果
若是要获得自己想要的效果,不管是升序照样降序,就需要提供对照函数了。该函数对照两个值的巨细,然后返回一个用于说明这两个值的相对顺序的数字。
对照函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,即 a - b 小于零,则返回一个小于零的值,数组将根据升序排列。
若 a 即是 b,则返回 0。
若 a 大于 b, 即 a - b 大于零,则返回一个大于零的值,数组将根据降序排列。
arr.sort(function(a,b){ return a - b; })
arr.sort(function(a,b){ return b - a; })
var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8} ]; function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 - value2; } } console.log(arr.sort(compare('age')))
arr.sort(function(a,b){ return Math.random() - 0.5; })
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入
3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入
链接: http://www.fly63.com/article/detial/1151