作家
登录

JavaScript中数组的排序、乱序和搜索实现代码

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

1. 排序: 默认的sort()按字符编码排序的: 复制代码 代码如下: <script type="text/javascript"> <!-- var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(); alert(testArray); //--> </script> 现在要让它按照数值大小排序: 复制代码 代码如下: <script type="text/javascript"> <!-- var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(function(a,b){return a-b;}); alert(testArray); //--> </script> 只要传递一个比较函数给sort就可以了,如果比较函数的值小于0,则表示a必须出现在b前面,否则在b后面。 2. 乱序: 让比较函数随机传回-1或1就可以了: 复制代码 代码如下: <script type="text/javascript"> <!-- var testArray=[1,2,3,4,5,6,7,8,9,10,22,33,55,77,88,99]; testArray.sort(function(){return Math.random()>0.5?-1:1;}); alert(testArray); //--> </script> 3. 搜索: 用sort()来玩搜索还蛮新鲜的,呵呵,看看是怎么玩的吧。 我现在要把数组里含有字母'a'的元素全部找出来,如果没有sort(),似乎只能用遍历了,遍历的效率…那个叫恐怖啊!!具体做法如下: 复制代码 代码如下: <script type="text/javascript"> <!-- var testArray=['df', 'rtr', 'wy', 'dafd', 'dfs', 'wefa', 'tyr', 'rty', 'rty', 'ryt', 'afds', 'wer', 'te']; testArray.sort(function(a,b){return a.indexOf('a')==-1?1:-1;}); alert(testArray); //--> </script> 这样就把数组中含有字母'a'的元素全部放到数组前面啦,再经过一些简单的处理,就可以输出搜索结果了。 以上是我总结的三种在javascript中用sort()操作数组的方法,如果你有兴趣,你会发现sort()还有好多妙用呢……

  推荐阅读

  Jquery插件之打造自定义的select标签

首先看下效果 复制代码 代码如下: <head> <title></title> <link type="text/css" rel="Stylesheet" href="JQSelect.css" /> <script type="text/javascript" src="jquery-1.2.6.js"></script> <script type="tex>>>详细阅读


本文标题:JavaScript中数组的排序、乱序和搜索实现代码

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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