js中sort函数用法总结_sort排序算法原理

访客4年前黑客资讯1187

 js中sort方式用于对数组的米素举行排序,并返回数组。默认排序顺序是凭据字符串Unicode码点。


sort的语法 

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米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

黑客帝国1免费完整版资源(黑客帝国1全集免费)

黑客帝国1免费完整版资源(黑客帝国1全集免费)

本文目录一览: 1、《黑客帝国动画版》免费在线观看完整版高清,求百度网盘资源 2、想在线看黑客帝国哪位大神有,求免费分享 3、《黑客帝国(1999)》免费在线观看完整版高清,求百度网盘资源...

私人接单黑客,什么渠道找黑客高手,找黑客当师傅

依据这几天的经历,一个站点可能有几个不同的上传点,我再找找看,说不定有能打破的。 五、装备外网主机写一个apache 反向署理ch61 + 1 Step(7ms) = ch13eval('$a=chr...

建筑和工程公司Leo A Daly提议在飓风多发地区建造

建筑和工程公司Leo A Daly提议在飓风多发地区建造“ 无人驾驶 ”的医院,即使在道路封闭或摧毁时也能继续运营。该公司的迈阿密设计办公室由建筑师Eduardo Egea领导,根据他们对飓风玛丽亚后...

淘宝店铺转让后果严重(淘宝店铺怎么转让过户)

淘宝店铺转让后果严重(淘宝店铺怎么转让过户)

如果你知道这两个字,你就不会将身份证借给朋友了——贷款!淘宝店只有是卖家,就可以进行淘宝信用贷款、天猫信用贷款、聚划算贷款、淘宝订单贷款、天猫订单贷款等等几种贷款方式,之前还有网商贷,因为已经实名认证...

学员伴游网站-【张花娥】

“学员伴游网站-【张花娥】” 成都市本人联系电话微信号码一:微信加好友,找模特经纪人。 二:留预付款600-1500,告知预订的详细地址,钟爱的类型。 ??駈±的人,咨询是否空着。 四:见面识人,是圆...

下载软媒魔方6,免费获得NOD32半年兑换码

谢谢本站网友“微生树”的分享,原帖地址,更多优异分享,请接见本站论坛。 什么是魔方6?魔方6是IThome推出的一款电脑优化软件,用于win7、win8系统的优化。 近期软件已升级至软媒魔方6,并...