博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript学习11 数组排序实例
阅读量:6476 次
发布时间:2019-06-23

本文共 1226 字,大约阅读时间需要 4 分钟。

 

JavaScript学习11 数组排序实例

 

数组声明

  关于数组对象的声明,以前说过:

  数组声明的一种方式:

var array = new Array();array.push(1);array.push(2);array.push(3);alert(array.length)

 

  数组声明的第二种方式,并排序:

var array = [1, 3, 25];array.sort(); //对数组排序,默认升序alert(array); //结果显示:1,25,3

  这是为什么呢?

 

数组的排序方法

  对于JavaScript数组的sort方法来说,它会先将待排序的内容转换为字符串(调用toString()方法),按照字符串的先后顺序进行排序。

  这是因为JS的数组是没有数据类型的,放什么类型的数据都行,所以排序方法必须为各种不同类型的元素找到一个统一的比较方法。

 

  所以,跟Java一样,需要自定义比较方法(策略模式):

//首先定义一个比较函数:function compare(num1, num2){       var temp1 = parseInt(num1);       var temp2 = parseInt(num2);       if(temp1 < temp2)       {              return -1;       }       else if(temp1 == temp2)       {              return 0;       }       else       {              return 1;       }}//然后调用这个比较方法进行排序var array = [1, 3, 25];array.sort(compare); //函数名是对象引用alert(array); //显示:1,3,25

 

 

使用匿名函数

上面的排序使用匿名函数的方式:

var array = [1, 3, 25];// 匿名函数array.sort(function(num1, num2){       var temp1 = parseInt(num1);       var temp2 = parseInt(num2);       if(temp1 < temp2)       {              return -1;       }       else if(temp1 == temp2)       {              return 0;       }       else       {              return 1;       }});alert(array);

 

参考资料

  圣思园张龙老师Java Web视频教程。

  W3School JavaScript教程:

  英文版:

转载地址:http://mcmko.baihongyu.com/

你可能感兴趣的文章
MongoDB的基础使用
查看>>
进程间通信——命名管道
查看>>
LINUX 重定向的知识
查看>>
ssh登陆不需要密码
查看>>
ARP
查看>>
java mkdir()和mkdirs()区别
查看>>
桌面支持--excel自动换行
查看>>
虚拟化--003 vcac licence -成功案例
查看>>
windows server 2003各版本及2008各版本的最大识别内存大小
查看>>
OSChina 周六乱弹 ——揭秘后羿怎么死的
查看>>
centos查找未挂载磁盘格式化并挂载
查看>>
IT人员的职业生涯规划
查看>>
sorry,you must have a tty to run sudo
查看>>
ios开发中使用正则表达式识别处理字符串中的URL
查看>>
项目中的积累,及常见小问题
查看>>
Python类型转换、数值操作(收藏)
查看>>
注释书写格式
查看>>
oracle11g dataguard 安装手册(转)
查看>>
java并发包分析之———Deque和LinkedBlockingDeque
查看>>
1. Two Sum - Easy - Leetcode解题报告
查看>>