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

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

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

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

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

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

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

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

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

这样处理,

// 冒泡排序聊天信息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

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

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6867545.html,如需转载请自行联系原作者

你可能感兴趣的文章
POJ1130 Alien Security
查看>>
【alpha阶段】第十次Scrum Meeting
查看>>
WPF入门教程系列五——Window 介绍
查看>>
数字图像处理中所用数学工具4---集合、逻辑操作与模糊集合
查看>>
网页换肤
查看>>
[BZOJ3751/NOIP2014]解方程
查看>>
【Java例题】3.5 级数之和
查看>>
silverlight多国语言研究
查看>>
.NET中Redis安装部署及使用方法简介
查看>>
PHP生成当前月份包括最近12个月内的月份
查看>>
开发--省级三联动,简单的代码,但是功能不差
查看>>
赋值法
查看>>
单词积累(Unity)
查看>>
P4769 [NOI2018]冒泡排序(dp)
查看>>
[BZOJ5407]girls
查看>>
API接口 Http和Socket 优劣比较 使用场景选择
查看>>
iOS系统自带弹框宏定义
查看>>
js 邮政编码验证
查看>>
iOS开发之窥探UICollectionViewController(二) --详解CollectionView各种回调
查看>>
HDU 4532 湫秋系列故事——安排座位(组合)
查看>>