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

访客4年前黑客资讯1157

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

相关文章

痞子术士5200(痞子术士)

小说《痞子术士》txt全集小说附件已上传到百度网盘,点击免费下载:内容预览:“小姐,你面含桃花,满脸春色,正是红杏枝头春意闹,一枝梅花出墙来的大好时机。 最近刚刚看完,可以帮你解答一下。但是要说明的是...

魔鬼训练有多苦(魔鬼训练有多恐怖)

魔鬼训练有多苦(魔鬼训练有多恐怖)

本文目录一览: 1、魔鬼式锻炼苦到什么程度?希望大家能赐教,不胜感激! 2、特战队的魔鬼训练,人民子弟兵的训练有多辛苦? 3、练习生参加团体选秀训练,几个月魔鬼训练有多苦? 4、·为什么魔...

结核丸多少钱,结核丸多少钱一瓶

  结核丸系列30天为一疗程,原价670元/疗程,现价580元/疗程。现买两疗程送一疗程,1160元。单买结核丸492元一疗程,买两疗程送一疗程984元。   这款药物在药店内里很少可以或许找到,因为...

网络黑客联系-黑客键盘使用方法(wifi黑客使用方法)

网络黑客联系-黑客键盘使用方法(wifi黑客使用方法)

网络黑客联系相关问题 黑客键盘app相关问题 黑客手机怎么弄? 黑客技术干货分享(黑客技术新手入门) 有个黑客室...

ps合并图层的快捷键是什么

ps图层合并快捷键是ctrl E。开启ps,导进素材图片,点一下右下方的加号图标,建立新的涂层,alt delete填充颜色,选定涂层,最终应用键盘快捷键ctrl E就可以将2个图层合并。 知名品牌型...

PDF文件太大怎么压缩

打开转换器,选择PDF操作,PDF压缩,把PDF文件拖拽到软件中间虚线框内,勾选常规压缩,设置清晰度,清晰度越低压缩效果越好,输出目录勾选原文件夹目录,点击开始转换,等待转换完成即可。 品牌型号:联想...