所有这些功能,用一个sort()就可以完成了。
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中实现数组的排序、乱序和搜索
原创mb6444ed45406a4 ©著作权
©著作权归作者所有:来自51CTO博客作者mb6444ed45406a4的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java 中数组的使用(一维数组和二维数组)
本文详细的介绍了,在Java 中数组的使用,并对其内存存在形式进行了详细的分析。
数组 一维数组 二维数组 java基础 -
数组 递归 javascript 递归实现数组排序
归并排序思想:1. 使用递归的方法来分元素2. 使用临时数组来保存排好序的元素3. 把临时数组中的元素拷贝给原数组
数组 递归 javascript 数组 递归 有序数组