需求:

  从arr数组中筛选出num最多的前十个,若是最后几个num的值一样,则最后几个按字母a-z的顺序排序,最后取出num最大的前十个;

var arr = [{"id":"f820be55a8d8c27fe7980a8b41136049","name":"曹祎遐","num":28},{"id":"71d9846327605ed2fe9e442e4cea6eac","name":"李湛","num":8},{"id":"f5b302d4db933f78e96e37c6cc3139b3","name":"刘亮","num":4},{"id":"51d7ef8f45f82f43a18980b30a94737e","name":"李伟","num":4},{"id":"2093b01d717ffe3128999f41ebcd2164","name":"郁鸿胜","num":3},{"id":"bc0afa6ce17851d31aedc1d8f9bfa917","name":"俞晓晶","num":2},{"id":"6c9294d61e7e71abcb1ce4b36614c1f9","name":"徐赟","num":2},{"id":"ce14cdd8ea8f7945f7e13e005f654d62","name":"李小年","num":1},{"id":"1e543e4e1e7c3ccbf759b050af428da9","name":"万勇","num":1},{"id":"4d14f8dd74bafeabb48322f10184d231","name":"杨咸月","num":1},{"id":"deb43756040116ce7077f5ad291cec0c","name":"孙福庆","num":1},{"id":"f2ef2572a283f814856959d5fa5447b8","name":"郑琦","num":1},{"id":"0e0b257d6a78fe3968ece09740a0af7a","name":"陈建勋","num":1},{"id":"63e91b532a24e987ef51c054f8377572","name":"顾书桂","num":1},{"id":"fa3e4703b1e6f99bc076ff84433b25a3","name":"郑世卿","num":1},{"id":"a6cfb26c3f7d8a35e5cd9b335aa7ee69","name":"顾丽英","num":1}]

let newArr = arr.sort((a,b)=>{
return (b.num - a.num) && (a.name.localeCompare(b.name,"zh-CN"))
}) console.log(newArr) let topTen = newArr.slice(0,10)
console.log(topTen[9])
let newTop = []
topTen.forEach(item=>{
if(item.num!=topTen[9].num){
newTop.push(item)
}
})
let len = newTop.length
let lastNums = []
arr.forEach(item=>{
if(item.num == topTen[9].num){
lastNums.push(item)
}
})
let orderByName = lastNums.sort((a,b)=>{
return a.name.localeCompare(b.name,"zh-CN")
}) let concatArr = newTop.concat(orderByName.slice(0,10-len))

筛选前十按a-z顺序排的更多相关文章

  1. 使用Python 统计nginx日志前十ip访问量并以柱状图显示

    脚本内容: import matplotlib.pyplot as plt # nginx_file = '10.6.11.91_access.log-2018-12-27' ip = {} #筛选n ...

  2. three.js实现球体地球2018年全球GDP前十国家标记

    概况如下: 1.SphereGeometry实现自转的地球: 2.THREE.Math.degToRad,Math.sin,Math.cos实现地图经纬度与三位坐标x,y,z之间的转换: 3.Imag ...

  3. ytu 1067: 顺序排号(约瑟夫环)

    1067: 顺序排号 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 31  Solved: 16[Submit][Status][Web Board] ...

  4. MIS2000 Lab,我的IT人生与职场--从零开始的前十五年 与 我的微创业

    http://www.dotblogs.com.tw/mis2000lab/archive/2014/09/16/ithome_2014_ironman.aspx [IT邦幫忙]鐵人賽 -- MIS2 ...

  5. C++经典题目:有n个人围成一圈,顺序排号,然后数数进行淘汰的解法和一些思考

    问题描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 分析: 首先由用户输入人数n,然后对这n个人进行编号[因为如果不编号的话 ...

  6. 现有n 个乱序数,都大于 1000 ,让取排行榜前十,时间复杂度为o(n), top10, 或者 topK,应用场景榜单Top:10,堆实现Top k

    一.topK python实现   def topk(k, lst): top = [0 for i in range(k)] #生成一个长度为K 的有序列表 for item in lst: #循环 ...

  7. C# 调整控件的Z顺序

    当窗口或者容器控件中的控件在布局过程中发生重叠的时候,会出现层次性.Z顺序较大的控件会遮挡Z顺序较小的控件,放在顶层的控件会挡住放在底层的控件. 1.编辑一个这样的窗口(使用Label控件) 2.添加 ...

  8. 37 有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位.

    题目:有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. public class _037NumberOff { public st ...

  9. Appstore排名前十的程序员应用软件

    程序员又名程序猿,苦逼劳累的代名词,曾经一个朋友这么开玩笑说,如果你是富二代,你当程序员就是脑残,如果你是穷二代,当程序员的话,死的时候一定是趴键盘. 程序员 哦,可怜的程序员.在那山的这边海的那边有 ...

随机推荐

  1. 《深入实践C++模板编程》之六——标准库中的容器

    1.容器的基本要求 a.并非所有的数据都可以放进容器当中.各种容器模板对所存数据类型都有一个基本要求——可复制构造.将数据放进容器的过程就是通过数据的复制构造函数在容器内创建数据的一个副本的过程. b ...

  2. linq多个条件

    public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个 ...

  3. 帝国cms 修改分页样式

    帝国cms 修改分页样式(路径) /e/class/t_functions.php

  4. Docker 备忘

    C/S架构: 客户端发出命令给服务器端(内含守护进程),守护进程执行命令后将结果传回给客户端.(可以远程访问,可以本地访问) 容器内部操作: 可写层下面都是只读的,操作时需要什么文件会被复制到可写层, ...

  5. Centos搭建hexo教程

    hexo文档:https://hexo.io/zh-cn/ 1.安装Git # sudo yum install git-core// 查看版本# git version// 输出git versio ...

  6. pyqt5 中的addStretch

    一直对addStretch感觉怪怪的,直到看见了下面这段话: addStretch()函数用于在控件按钮间增加伸缩量, 伸缩量的比例为1:1:1:6,意思就是将控件以外的空白地方按设定的比例等分为9份 ...

  7. 记录-Intellij Idea下以Tomcat运行Web项目时的位置问题

    今天本来准备把原来的一个Web项目导入到Idea下,之前这个项目是用eclipse写的,容器用的tomcat,首先导入前我把一些没用的配置文件都给删了,像什么.eclipse..setting什么的, ...

  8. 《设计模式之美》 <01>为什么需要学习掌握设计模式?

    1. 应对面试中的设计模式相关问 题学习设计模式和算法一样,最功利.最直接的目的,可能就是应对面试了.不管你是前端工程师.后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类 ...

  9. SQL语句复习【专题四】

    SQL语句复习[专题四] 多表查询 sql 92多表查询 sql92.sql99 标准--查询所有员工的姓名,部门编号,部门名称select * from empselect * from dept- ...

  10. PotPlayer直播源分享

    添加直播源方法: 央视CCTV1综合HD-1,rtsp://113.136.42.45:554/PLTV/88888888/224/3221226087/10000100000000060000000 ...