博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS排序的运用
阅读量:6786 次
发布时间:2019-06-26

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

排序是一个非常实用的功能,队列也是一样实用。

有时候项目中就是会用到它。

举个例子,队列的运用,比如刷小礼物,接收方,会受到很多用户的礼物。为了公平起见,要一个个的显示出礼物效果。这个时候就需要队列了,先进先出。

把它们加入队列中,一个一个的运行。运行一个礼物效果,就移出一个队列数据。

排序呢,也会经常用到,给你一堆数据,有时候需要按照日期排序,有时候要按照销量排序,等等。把无序的数据处理成有序的。

冒泡排序,就是一个很简单的排序实现方式,数据较少的情况下,排序效率会高一些。

这里,比如获取聊天好友列表,把最近聊天的人员优先排在前面。

这样处理,

// 冒泡排序聊天信息function sortChatList(arr) {    var len = arr.length;    for (var i = 0; i < len; i++) {        for (var j = 0; j < len - 1 - i; j++) {            if (arr[j].sentTime < arr[j+1].sentTime) {                var temp = arr[j+1];                arr[j+1] = arr[j];                arr[j]   = temp;            }        }    }    return arr;}

经过两轮比较,消息发送时间戳大的就会排在前面了,也就是最新的聊天人员会排在前面。

for (var k = 0;k

422101-20170517145114635-891686001.gif

继续尝试,改造成选择排序,思路就是,查询最小的数,或者最大的数,将其排在前面。

// 选择排序function sortChatList(arr) {    var len = arr.length;    var maxIndex, temp;    for (var i = 0; i < len - 1; i++) {        maxIndex = i;        for (var j = i + 1; j < len; j++) {            if (arr[j].sentTime > arr[maxIndex].sentTime ) {     //寻找最大的数                maxIndex = j;                 //将最大数的索引保存            }        }        temp = arr[i];        arr[i] = arr[maxIndex];        arr[maxIndex] = temp;    }    return arr;}

422101-20170517151201666-888859855.gif

运用才是最重要的,尼玛,其他的排序算法,真心看不懂。

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

你可能感兴趣的文章
机器学习、深度学习、和AI算法可以在网络安全中做什么?
查看>>
JAVA 基础部分易混淆问题总结
查看>>
优化linux的内核来提高nginx并发
查看>>
Python包管理器
查看>>
关于微信投票如何防止出现微信上投票怎样刷票的技术
查看>>
OpenGL学习之glBindTexture函数
查看>>
Struts2 | 在struts2值栈中存储数据的三种方式
查看>>
ubuntu的python开发环境准备
查看>>
Java_07_01 正则表达式
查看>>
为微信域名而生的猴子数据 api接口
查看>>
在IDEA中Spring boot配置热部署无效问题解决方式
查看>>
很幽默的讲解六种Socket I/O模型
查看>>
《Objective-c基础教程》 学习计划(第一遍)
查看>>
struts2基本流程
查看>>
Android学习--01-架构
查看>>
NFS网络文件系统
查看>>
java: SQLite使用实例
查看>>
Java手动序列化和反序列化的实现
查看>>
一次解决你的所以省略号问题,不仅仅是:text-overflow:ellipsis
查看>>
sql报错信息
查看>>