js中的排序小案例

原创 2015年07月27日 14:28:32

js中排序用到了sort函数。


下面代码实现字母、数字的混合排序:

<script>
var d = [1,2,3,'a','k','b','d',10,20,'c']
d.sort(function(a,b){
  var c = isFinite(a), // 如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。
      d = isFinite(b);

  return (c != d && d - c) || a > b;
})
console.log(d)
</script>

代码解析:

isFinite() 判断a、b是否是数字。

return 后面的语句:

   c != d && c - d  如果c和d不相等 ,也就是说比较的值不是同一类型。那就比较 c-d的值是1还是-1(中间进行了隐式类型转换)

   如果c == d 也就是说c、d是同一类型的值,c、d可能都是字母,也可能都是数字。这里就可以直接比较大小了(都是字母的话不能直接做减法)。

isFinite() 函数用于检查其参数是否是无穷大。如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。


实现汉字的排序:

用到了localCompare

<script>
var d = ["你好","英语","呵呵","三个臭皮匠"]
d.sort(function(a,b){
  return a.localeCompare(b)
})
console.log(d)
</script>



js小案例效果实现代码学习记录

倒计时到1时就自动转换到慕课网网页,不过可以在5秒内单击返回,可以返回到之前自己访问的前一个网页。 现在我来整理一些做这个的思路: 1:先布局,将网页的内容做出来。 2.实现倒计时的事件就交给Js来实...
  • xiaokehai
  • xiaokehai
  • 2015年10月28日 11:06
  • 299

js对数组中的数字从小到大排序

例子 1 代码 var arr = new Array(6) arr[0] = "Jani" arr[1] = "Hege" arr[2] = "Stale" arr[3] = "Kai Jim" a...
  • wen_bin_li
  • wen_bin_li
  • 2017年01月07日 17:37
  • 2467

使用JavaScript完成一个对字符串数组进行排序的小程序

排序依据是字符串中重复最多的字符的出现数,例如aaab(a重复3,该字符串的排序权值为3)、ababxyxy(该字符串的排序权值为2)、abcxyz(该字符串的排序权值为1),排序后应该是abcxyz...
  • djf3848
  • djf3848
  • 2013年08月05日 20:11
  • 617

js的小案例的实现效果学习笔记

实现多个复选框单击一个按钮就可以实现全选的事件,和单击一个按钮可以将选中的复选框全部取消的事件。 思路: 制作多个复选框,复选框的name是一样的 制作一个按钮,单击这个按钮,这些复...
  • xiaokehai
  • xiaokehai
  • 2015年10月28日 16:03
  • 261

JavaScript按照对象的某个属性进行排序

JavaScript按照对象的某个属性进行排序1、背景 在使用Echart绘制地图专题图时,左侧的visualMap控件需要min和max两个参数,要求低的话可以默认设置0-max(这里为固定预设...
  • liushuo_whu
  • liushuo_whu
  • 2016年05月23日 23:08
  • 1617

js基础小例子

DOCTYPE html> html> head> meta charset="UTF-8"> title>title> head> body> input type...
  • Vivian_shuang
  • Vivian_shuang
  • 2016年07月12日 08:20
  • 254

简单选择排序-JS代码实现

简单选择排序-JS代码实现
  • sweet___smile
  • sweet___smile
  • 2016年06月19日 20:43
  • 1807

JS基础整理+实例

JavaScript 是脚本语言 JavaScript 对大小写是敏感的。 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代...
  • pakuma07
  • pakuma07
  • 2015年07月24日 21:12
  • 1346

Node.js小示例

1.http get和post httpserverrequestget.js /* 获取GET请求内容 由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部...
  • he90227
  • he90227
  • 2015年10月14日 17:10
  • 1686

js数组从小到大排序

function evlabc(a){//排序大小 var i = j = t = 0; for (i = 0; i for (j = 0; j  if (a[i]   t = a[i...
  • shipeng22022
  • shipeng22022
  • 2014年10月28日 14:23
  • 6601
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js中的排序小案例
举报原因:
原因补充:

(最多只允许输入30个字)