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

访客4年前黑客资讯1173

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

相关文章

罗马尼亚累计新新宋冠死亡病例破万例

  新华社布加勒斯特11月22日电(记者林惠芬)罗马尼亚官方22日公布的数据显示,该国过去24小时新增新冠死亡病例131例,累计死亡病例超过1万例,达10047例。   数据显示,罗马尼亚过去24小...

黑客高手哪里找-便携式黑客装备(黑客装备在哪里买)

黑客高手哪里找-便携式黑客装备(黑客装备在哪里买)

黑客高手哪里找相关问题 用手机怎样学黑客技术相关问题 黑客组织靠什么赚钱 海上钢琴师经典台词(海上钢琴师经典台词不下船主角说的)...

秦十三米皮加盟支持有哪些?总部全程在线

秦十三米皮加盟支持有哪些?总部全程在线

此刻的秦十三米皮可以说是一个百姓度很是高的美食,不少的投资商和创业者都很是的青睐这个行业,所以作为行业中的知名品牌秦十三米皮加盟更是备受存眷和追捧,此刻已经有浩瀚的加盟商前来咨询相关的问题了,所以假如...

苹果12夜间模式怎么设置

1、打开设置。2、点一下表明与色度。3、启用深棕色。4、还可以挑选夜览。5、打开设置時间。6、设定好开始时间和完毕時间。7、当电脑时间开启护眼模式开始时间时,便会全自动进到到护眼模式。 知名品牌型号规...

求师傅教我黑客技术 情侣QQ,黑客软件合集手机版,黑客黑掉网站能查到吗

1 打包之后反编译,跟之前未敞开混杂反编译的代码进行比照,直接去看smali文件夹,有显着的不同:第二章 进程维护病毒占比与事例0x04 编写脚本完成自动化扫描dll的导出函数顶尖 Web 白帽 Fr...

水浒传读后感600字左右(水浒传读后感)

水浒传读后感600字左右(水浒传读后感) 读罢水浒,意犹未尽,而其中的那张忧郁的面孔,在一百单八将中逐渐清晰,让我不能忘怀。这张面孔,施耐庵告诉我们是“豹头环眼、燕颔虎须”,和三国中的张飞如出一辙,...