作家
登录

如何写JS数组sort的比较函数

作者: 来源:www.28hudong.com 2013-03-30 01:28:50 阅读 我要评论

譬如:   var a=[1,5,3,7];   a.sort(function(a, b) { return b-a});//从大到小排列   那如果复杂点的顺序应该如何写这个比较函数呢。   对于比较函数function f(a,b){...} ,若返回正数,则说明a和b需要交换,否则不交换。所以我们可以通通根据下面的格式去写比较函数:  复制代码 代码如下: function f(a, b) { if (...) { return 1; } return -1; } 然后,我们要做的就是写出if里面的条件,这个条件就是返回a、b需要交换的条件。譬如:对var a=["a","A","B","b"];进行不分大小写并从大到小排序,仅当a.toString().toLowerCase() < b.toString().toLowerCase()时,交换a、b,所以用此填充if条件即可。比较函数就是:   function f(a, b) { if (a.toString().toLowerCase() < b.toString().toLowerCase()) { return 1; } return -1; }   再譬如:要使数组的元素按先奇数后偶数的顺序排列,则若需a、b交换,仅当满足a是偶数且b是奇数条件即可,再按从小到大排序,仅当满足a、b均是奇数或偶数且a>b时即可。如下: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 作者:JayChow

  推荐阅读

  JQuery从头学起第一讲

JQuery的重要性对一个coder来说应该是不言而喻的, 多少次在应聘的时候被问及是否会JQuery;多少次在写脚本的时候因为浏览器的不兼容而吐血;多少次因为需要用脚本做一个简单的效果而写到手抽筋。JQuery出现后,很>>>详细阅读


本文标题:如何写JS数组sort的比较函数

地址:http://www.17bianji.com/kaifa2/JS/26104.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)