`
张玉龙
  • 浏览: 737255 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

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

 
阅读更多

所有这些功能,用一个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中数组的排序、乱序和搜索实现代码

    通过向其传递适当的比较函数,我们可以实现数组的排序、乱序甚至搜索功能,这展示了JavaScript数组方法的多样性和灵活性。 需要注意的是,尽管使用sort()方法可以简化代码实现,但在处理大型数组时,它的性能可能...

    js中数组中相同的元素进行整合并创建一个新数组.pdf

    3. **数组排序**:使用`arr.sort()`对数组进行排序。这里的关键在于提供的比较函数 `(a, b) =&gt; { const s = a[str]; const t = b[str]; return s ; }`,它根据对象的`str`属性的值进行升序排序。如果`str`属性值在`a...

    JavaScript实现找出数组中最长的连续数字序列

    关于如何用JavaScript实现找出数组中最长的连续数字序列,以下是一些重要的知识点。 首先,需要理解连续数字序列的定义:在一个整数序列中,连续数字是指按数值顺序排列,且数值相邻的数字序列。例如,序列[1, 2, 3...

    JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)

    前两天想要对一个数组进行复制,一直苦于找不到办法(遍历的方法俺是绝对不采用的) 无意中拿起《JavaScript权威指南》翻了翻数组的操作函数,发现了slice()函数。 slice()原来是用来截取数组中的一部分,这里我用...

    array-shuffle:随机排列数组中的项目顺序

    随机排列数组中的项目顺序 使用基于的。 安装 $ npm install array-shuffle 用法 const arrayShuffle = require ( 'array-shuffle' ) ; const shuffled = arrayShuffle ( [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ; //=&gt; [3, ...

    JavaScript实现列出数组中最长的连续数

    总的来说,`maxSequence`函数通过预处理、解析和排序三个步骤,有效地找到了输入数组中按指定步长的最长连续子序列。它使用了一种分治和记录的方法,将数组的不同连续子序列存储在`parseResults`中,并在最后返回...

    通过js随机函数Math.random实现乱序

    在JavaScript中,数组乱序是一种常见的操作,常用于游戏、数据可视化或算法中。本文将深入探讨通过JavaScript的随机函数`Math.random()`实现数组乱序的两种方法:一种是使用数组的`sort()`方法,另一种是Fisher-...

    javascript实现拼图

    以上就是实现JavaScript拼图游戏所涉及的关键技术点,这些知识不仅适用于拼图游戏,还可以应用到其他交互式Web应用程序的开发中。理解并熟练掌握这些概念,对于提升JavaScript编程能力非常有帮助。

    百度地图毕业设计源码-frontend-interview-point:前端面试知识点整理

    百度地图毕业设计源码 前端面试知识点整理 目录 viewport meta 语义 排版 绘制 动画 理解和还原设计图意 ...搜索SEO 排序 搜索 ...请编写一个JavaScript函数 ...实现对数组进行乱序 xss和csrf分别是什么?

    fecommunity#front-end-interview#27.实现乱序函数2

    // 插入排序function insertSort(a, from, to) {// v2: 乱序算法加强版// 遍历数组元素,然后将当前元素与以后随机位置的

    JavaScript 冒泡排序

    总的来说,冒泡排序是一种基础排序算法,它通过简单的逻辑实现了数组的排序,虽然在实际开发中不常用,但对于理解和掌握排序算法原理有着重要的作用。通过这个算法,开发者可以进一步学习更高效的排序算法,如快速...

    有赞2019校招前端笔试.docx

    第十一个问题讨论了排序算法的性能,要求判断哪个排序算法对只有一两个元素乱序的数组排序性能最好。这个问题可以使用算法的基本性质解决,插入排序对只有一两个元素乱序的数组排序性能最好。 第十二个问题讨论了...

    MVC实训例子

    这个模式将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller),各自负责不同的职责,以实现良好的代码组织和解耦。 1. **模型(Model)** 模型是应用程序的核心部分,负责处理业务...

    JS折半插入排序算法实例

    示例代码中给出了一组测试数据,展示了如何使用`sortInsert`对乱序数组进行排序。整个排序过程不仅考虑了元素的插入,还利用了折半查找技术降低了时间复杂度,使得在数据量较大时仍能保持较好的性能。 总结,JS折半...

    ajax请求之返回数据的顺序问题分析

    - 使用foreach循环遍历排序后的数组$a,把每个元素的值(value)和键(key)分别存储到$row['data']和$row['key']中。 - 将处理后的数据组织成新的数组格式,按照键值对的方式重新排列,并最终发送到前端。 示例...

    JS解惑之Object中的key是有序的么

    此外,对于那些需要保持顺序的场景,为了更好地兼容JavaScript引擎的不同实现,可以使用数组或者数组中的对象来模拟有序集合,例如使用数组中的对象来定义下拉列表的选项: ```javascript var options = [ { key: ...

    cardpuzzel

    JavaScript中的数组和对象是理想的工具,可以用来表示卡片的位置和状态。 - **事件监听**:JavaScript事件监听机制使得我们能捕捉用户的行为,如点击或拖动卡片。通过addEventListener方法,我们可以处理这些事件,...

    面试题前端

    面试题前端涵盖了前端开发中的多个关键知识点,包括HTML/CSS布局、JavaScript编程、数据结构、网络协议、前端框架、状态管理、模块打包、错误处理和源码分析等方面。以下是对这些知识点的详细说明: 1. **CSS布局**...

Global site tag (gtag.js) - Google Analytics