为了账号安全,请及时绑定邮箱和手机立即绑定

关于数组排序,并且重复项也要处理的问题

关于数组排序,并且重复项也要处理的问题

喵喵时光机 2019-03-14 18:15:41
将数组按照sort排序,不管sort是多少,需要根据之前的大小顺序变成从1排序,sort重复的按照之前顺序忘后排,求大神指点,写了几个方法都有问题。let arr = [{sort:-2, id: 9},{sort:0, id: 10},{sort:1, id:8},{sort:2, id:1},{sort:4, id: 5},{sort:4, id: 7},{sort:6, id: 6},];let arrNew = [{sort:1, id: 9},{sort:2, id: 10},{sort:3, id:8},{sort:4, id:1},{sort:5, id: 5},{sort:6, id: 7},{sort:7, id: 6},]
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

先 stable sort,再用@李十三的代码


// import Lodash...

_.sortBy(arr, [o => o.sort]);

let arrNew = arr.map((v, i) => (v.sort = i + 1, v));


查看完整回答
反对 回复 2019-03-28
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

你这个arr是已经排过序的?

let arrNew = arr.map((v, i) => (v.sort = i + 1, v))


查看完整回答
反对 回复 2019-03-28
  • 2 回答
  • 0 关注
  • 580 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号