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

访客4年前黑客资讯1186

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

相关文章

公牛智能插座贵不贵 公牛智能插座多少钱

公牛智能插座贵不贵 公牛智能插座多少钱

  公牛智能插座这几年呢也开始被各人所接管,虽说还没有普及开来,可是许多家庭都已经连续在利用了。本日呢想要给各人聊一聊的是关于这个公牛智能插座贵不贵,公牛智能插座几多钱的话题,究竟智能家居产物的价值一...

Deviantart

DeviantArt:艺术作品展示分享网是一个展示与分享种种艺术创作的大型国际性社群网站,由Scott Jarkoff、Matthew Stephens及Angelo Sotira等人创立于2000年...

疫情之下,中国互联网的冰与火之歌

疫情之下,中国互联网的冰与火之歌

疫情非凡时期下,中国互联网产生了哪些变革?文章对此举办了盘货,一起来看看~ 每一次动荡都是流量的再分派! 新冠这只黑天鹅对中国互联网财富的影响是全方位的,对付中国互联网的诸多规模而言,这次海啸般的攻...

别墅门牌写府或宅(别墅门牌号怎么写)

别墅门牌写府或宅(别墅门牌号怎么写)

本文目录一览: 1、别墅门扁用"府"."邸"."宅."哪个字喻义好 2、别墅大门上方墙上刻xx府有讲究吗 3、平民院子门牌可以做某某府吗?适不适合。回答为谢! 4、小区复式楼做门牌可以写某...

有名的少年黑客(青少年黑客)

有名的少年黑客(青少年黑客)

本文目录一览: 1、世界第一黑客,凯文·米特尼克怎么出名的? 2、有哪些天才少年黑客? 3、泄露GTA6黑客被逮捕,这位黑客会被如何处罚? 4、袁秉宇的介绍 5、︶●.○︶﹏↘u.史上...

qq黑客基地,中国黑客 怎么联系,有没有网赌输钱找黑客找回的案例

ps:图片可单击扩大观看。 比方一个标题是将flag藏在后台管理员暗码方位,那么你能够用0x02里说的法办法,这样防备搅屎棍:1)寻觅灵敏页面SYN Stealth Scan Timing: Abou...