需求:

  从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. vi/vim 编辑、搜索、查找、定位

    介绍vi/vim 相关命令,主要涉及:编辑.搜索.查找.定位. 分为两个章节,即常用命令  及 键盘图 一.vi/vim常用命令 set nu 显示行号 gg 跳转到文件开头 / 向后搜索 ? 向前搜 ...

  2. 解决windows系统下ping,ipconfig不是内部或外部命令

    一般情况下,都是误删了系统变量path的值.解决方法:右击我的电脑 → 选择属性 → 选择高级系统设置 → 环境变量 → 在系统变量列表中,找到“path”环境变量双击,打开.在变量值这一栏检测下是否 ...

  3. # 风险定性(Qualitative)分析

    1. 从一个给教师打分的设计表说起 我们参加一个培训课程,一般在培训结束之后,培训机构一般都会分发一份培训师培训效果反馈表,用于评价其讲师的培训能力的强弱. 如果是一家没有什么经验的培训机构设计的反馈 ...

  4. 解决VS2015 不能设置下面的断点**** 断点未能绑定

    解决VS2015   不能设置下面的断点**** 断点未能绑定 1. 清理解决方案  ,  重新生成解决方案 ,  无效!! 2. 选项-- 调试 -- 启用编辑并继续     无效!! 3.   启 ...

  5. prototype,__proto__,constructor理解

    prototype: 任何函数(箭头函数除外)都具有一个 prototype属性,该属性是一个对象.一般情况下只有声明function的变量才会有(自动生成)prototype这个属性,而functi ...

  6. 常见DML语句汇总

    DML操作是指对数据中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查询(select),是开发人员日常使用最频繁的操作,下面依次对它们进行介绍. ( ...

  7. shell运行下的写日志

    tee 重定向输出到多个文件   在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令 要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读 ...

  8. 进程、线程、协程的基本解析(python代码)

    进程什么是进程?程序就是一堆放在磁盘上的代码,进程是一段程序的运行过程正规点说,进程一般由程序.数据集.进程控制块三部分组成 什么进程切换?进程切换是,一个正在运行的进程被中断,操作系统指定另一个进程 ...

  9. 二、CentOS 7安装部署GitLab服务器(解决邮箱发信问题)

    一.环境安装(10.0.0) 1.安装依赖软件 yum -y install policycoreutils policycoreutils-python openssh-server openssh ...

  10. Sass的混合-@mixin,@include

    1,无参数,有参数和带默认值参数的@mixin声明sass文件内容: //带参数,默认50@mixin opa($opa:50){ opacity: $opa / 100; filter:alpha( ...