需求:

  从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. 树莓派3B+和3B 安装64位debian GUN/Linux系统

    请直接参考如下博客: https://blog.csdn.net/u013451404/article/details/80710136 如果是3B的树莓派用户,只需要把第一个分区boot里的.dtb ...

  2. SQL SERVER 相关

    while循环 declare @sum int; declare @i int; ; ; ) begin ) begin set @sum=@sum+@i; end ; end select @su ...

  3. jquery文件上传版 插件

    /*! * jQuery Form Plugin * version: 4.2.2 * Requires jQuery v1.7.2 or later * Project repository: ht ...

  4. PHP获取某段文字作为标题

    <?php mb_internal_encoding('utf-8'); // 提取文字标题,多余文字用省略号替换 $arr=[ '用心用情用功,进行无愧于时代的文艺创造', '一图了解第二届一 ...

  5. Flask框架学习篇(一)

    安装好Python,pip install flask安装好flask后,开始编写第一个flask程序 #包含动态路由的flask程序from flask import Flask app= Flas ...

  6. Fescar锁和隔离级别的理解

    前几天夜里,我老大发我一篇文章说阿里的GTS开源了. 因为一直对分布式事务比较感兴趣,立马pull了代码,进行阅读.基本的原理,实现方案我就不一一细化了,详细见官方文档(写的很棒,点赞). 在fesc ...

  7. Windows问题

    常用工具 DisplayFusion 官网 电脑分屏,V9.4 Pro 破解版 问题解决 Win64位注册表导入方法 64位Windows操作系统注册表不同于32位Windows操作系统,Win64 ...

  8. 理解JavaScript里的 [].forEach.call() 写法

    原文:  http://www.webhek.com/javascript-foreach-call document.querySelectorAll() 返回的并不是我们想当然的数组,而是 Nod ...

  9. C - Covered Points Count CodeForces - 1000C (差分,离散化,统计)

    C - Covered Points Count CodeForces - 1000C You are given nn segments on a coordinate line; each end ...

  10. 转载一篇c++开源框架和库

    值得学习的C语言开源项目 -1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性 ...