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

将数组按照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},]


喵喵时光机
浏览 581回答 2
2回答

白猪掌柜的

先 stable sort,再用@李十三的代码// import Lodash..._.sortBy(arr, [o => o.sort]);let arrNew = arr.map((v, i) => (v.sort = i + 1, v));

幕布斯6054654

你这个arr是已经排过序的?let arrNew = arr.map((v, i) => (v.sort = i + 1, v))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript