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

访客4年前黑客资讯1166

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

相关文章

怎么破解他人的微信帐号,如何窃取另一方的微信号码登陆密码?

【文章百度收录网说】在现如今发展社会发展,互联网早已变成大家日常生活当中不能缺乏的物品。人和世间的沟通交流方法愈来愈多元化。最开始的沟通方式是电話,之后拥有大量的沟通软件,如QQ、手机微信等,殊不知在...

如何查询我家老公全部的陌陌聊天记录

生活在大都市的上班族,每天都要乘坐早晚高峰拥挤的地铁,甚至为了多睡一会儿连早餐也都没时间吃,哪怕你是有车一族走在拥堵的早晚高峰四五环上也是一种煎熬,生活已经有太多的压力,化繁为简成为他们最大的诉求,在...

昂楷防统方计划方案,对于医疗器械行业网络信息安全管理方法

昂楷防统方计划方案,对于医疗器械行业网络信息安全管理方法

昂楷防统方系统软件根据对医院信息系统软件的“业务流程方面、技术性方面、管理方法方面”的安全性需求分析报告,不在危害HIS系统软件、PACS系统软件、EMR系统软件等软件系统一切正常应用的前提条件下,在...

安徽阜阳确诊一例上海关联病例-安徽阜阳确诊一

据最新消息报道安徽阜阳确诊一例上海关联病例,据了解在回到县城之前曾同王某某一起在上海浦东机场从事机场货物搬运工作,在工作期间也是一直佩戴口罩的,因此安徽阜阳确诊一例也是引起了很多人的关注,那么接下来大...

了解真正的商务 有没有违法行为 你必须了解很多【何瑞】

了解真正的商务 有没有违法行为 你必须了解很多【何瑞】 今天给大家分享的内容是“了解真正的商务 有没有违法行为 你必须了解很多【何瑞】”,我是何瑞,来自西双版纳州,今年26岁,作为职业:艺术,我热...

杭州有什么好玩的(杭州游玩攻略大全)

杭州有什么好玩的(杭州游玩攻略大全)

在杭州的钱江新城看光彩夺目的灯光秀,搭配气势磅礡的水舞表演,以及置身于古色古香的南宋御街,体验过往在地居民的生活情调,或是尽情享用多种美味可口的杭州在地特色美食,让你的生活精彩不留白。 钱江新城...