Js sort排序使用方法
发布时间:2023-10-19 10:20:55
javascript sort()排序用法
sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串UniCode码。因为排序是按照字符串UniCode码的顺序进行排序的,所以首先应该把数组元素都转化成字符串(如有必要),以便进行比较。
语法:arrayObject.sort(sortFunction);
参数
arrayObj 必选项。任意 Array 对象。
sortFunction 可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
注意:sortFunction参数,用来规定排序的顺序,必须是函数。
javascript 中 array.sort() 中的参数,需要传入的是一个函数,而且必须是一个函数。
其中的x ,y代表的是array中的两个对象。 需要注意的是,返回类型只有三种:负整数、零、正整数 一般习惯上使用 -1 0 1 代表 另外有个小技巧,如果只需要对一个属性进行比较,比如这里的年龄,那么整个排序方法就只有一句话了
function a(x,y){ return x.age-y.age; }
["apple","banana","car","app"].sort(); //["app","apple","banana","car"][82,71,99,4,10,120].sort(); //[10,120,4,71,82,99]
可以看到第2个数组中,数字并没有按正常顺序排序,如果要对数字进行排序,则可以给 sort() 传递一个回调函数,回调函数接收两个参数,即两个需要比较的元素,假设第1个参数名为 a,第2个为 b:
如果想让 a 排在 b 前边,就需要回调函数返回一个负数;
如果让 a 排在 b 的后边就需要返回正数;
如果让 a 和 b 保持原来的位置,则返回0,不过不同的浏览器对于返回0的处理方式不同,有可能让 a 在前 b 在后,也有可能让 b 在前 a 在后。
请看下面的代码:
[82,71,99,4,10,120].sort((a,b)=>{
if(a>b)return 1;
if(a<b)return-1;
if(a===b)return 0;
}); //[4,10,71,82,99,120]
上方的代码可以简写成的代码如下:
[82,71,99,4,10,120].sort((a,b)=>a-b);因为当 a<b 时,a-b 一定是负数,当 a>b 时,a-b 肯定为正数,而当 a=b 时,结果为 0,这样就满足了正序排列的条件。如果要倒序排列数组,则可以返回 b-a。
猜你喜欢
- 一条语句搞定数据库分页select top 10 b.* from (select&nbs
- MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文主要介绍了show命令的主要用
- gzip 是什么东东呢?百科跟我们说gzip是GNU zip的缩写,它是一个 GNU 自由软件的文件压缩程序。…gzip 的基础是 DEFL
- 阅读上一篇教程:WEB2.0网页制作标准教程(8)CSS布局入门接下来开始要真正设计布局了。和传统的方法一样,你首先要在脑海里有大致的轮廓构
- 最近发现一个叫 Bootstrap 的好东西,Bootstrap 是现在最流行的响应式 CSS 框架,它以移动设备优先,能够快速适应不同设备
- 昨天晚上在家里把WM设计好的好台界面做成Html,在家里只用IE8和FF做了测试,感觉还行,除了感觉IE8还不成熟,渲染比较慢且不稳定外,标
- event-----------------------------------------------------------------
- 如果能,请问如何实现 谢谢set aa=server.cre
- 在SQL Server数据库中,有min server memory与max server memory两个内存选项。数据库管理员合理设置这
- Frontpage中的回车键有三种:enter、shift+enter、ctrl+enter。enter键对应于HTML中的<p>
- 很多人都使用很多的编程工具,尤其对于Web开发人员。这个小教程将告诉各位如何使DreamweaverMX编程环境适合中国的Web开发人员。一
- PNG格式以支持透明和无损,且相对大小适中,已成为现在网页中图片运用的主流。有些时候我们在制作网页时使用PNG格式图片,用IE浏览器查看却无
- 程序设计是困难的,其核心是管理的复杂性。计算机程序是人类做出的最复杂的东西。质量是不可靠的且隐蔽的。好的体系架构是必需给程序足够的结构使其健
- 本文实例讲述了php7 图形用户界面GUI 开发。分享给大家供大家参考,具体如下:一、下载指定系统扩展http://pecl.php.net
- 下面的代码是日期函数的一些简单运用,应该不用解释,生成当月的日历,当然你可以根据实际情况进行扩充!效果图:<%@LANGUAGE=&q
- 示例:mysql> DELIMITER //mysql> CREATE PROCEDURE `statis`()
- 搞了一上午,头都大了!最终解决问题。其实这问题老早就遇上了,但是比较懒,三下两下没整好便推开了搜索了一下,产生< msxml3.dll
- 内容摘要: 网页的色彩搭配往往是网友们感到头疼的问题,尤其是那些完全没有美术基础的网友。到底用
- 本文实例讲述了JS+CSS实现的日本门户网站经典选项卡导航效果。分享给大家供大家参考。具体如下:这里介绍的是来自日本门户网站的一款CSS+J
- 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能。微信商城中,使用微信支付获取用户的收货地址,可以省略用户输入