需求:

  从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. Windows 安装和配置 WSL

    Windows 安装和配置 WSL 什么是 WSL 引用百度百科的一段话: Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二 ...

  2. centos7上搭建NFS的实践

    NFS 即network file system 可用于向k8s集群提供持久存储 最小化安装centos后  把网卡设置好了后 1.关闭防火墙 [root@NFS ~]# systemctl stop ...

  3. JSON函数表1

    jsoncpp 主要包含三个class:Value.Reader.Writer.注意Json::Value 只能处理 ANSI 类型的字符串,如果 C++ 程序是用 Unicode 编码的,最好加一个 ...

  4. opencv3.3 CUDA 初学实例

    //swap.cu #include "cuda_runtime.h" #include "device_launch_parameters.h" #inclu ...

  5. 爱上Java诊断利器之Arthas

    1. Arthas是什么? 摘自Arthas的Github介绍: Arthas is a Java Diagnostic tool open sourced by Alibaba. Arthas al ...

  6. SpringBoot返回页面乱码解决

    SpringBoot,在做全局异常处理的时候,返回中文字符串时,出现乱码情况,网上查阅资料之后,解决方式如下所示,自定义WebConfiguration继承WebMvcConfigurationSup ...

  7. CDH6.1.0新增主机资源

    在CDH 6.1.0 上增加主机 一 客户端配置 1.1 JAVA 配置 1.2 关闭selinux以及防火墙 1.3 将服务端的agent包打包然后拷贝到客户端 然后解压 启动(也可以rpm安装) ...

  8. Java学习笔记【八、数据结构】

    参考资料: http://www.cnblogs.com/janneystory/p/5758958.html array arraylist list linklist的区别 http://www. ...

  9. Netty练手项目-简单Http服务器

    简单的设计思路就是,启动一个可以截断并处理Http请求的服务器代码.使用netty提供的boss线程与worker线程的模型,并使用netty的http解码器.自行编写了http url处理的部分.在 ...

  10. (七)make menuconfig

    1.make menuconfig进入图形界面后,输入 / 进行查找页面,如果输入有错,要删除前面输入的可以输入 ctrl加<--键(ctrl加回退按键)