鍍金池/ 問答/HTML/ 關(guān)于數(shù)組排序,并且重復(fù)項(xiàng)也要處理的問題

關(guān)于數(shù)組排序,并且重復(fù)項(xiàng)也要處理的問題

將數(shù)組按照sort排序,不管sort是多少,需要根據(jù)之前的大小順序變成從1排序,sort重復(fù)的按照之前順序忘后排,求大神指點(diǎn),寫了幾個(gè)方法都有問題。

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},]
回答
編輯回答
下墜

你這個(gè)arr是已經(jīng)排過序的?

let arrNew = arr.map((v, i) => (v.sort = i + 1, v))
2018年1月2日 07:57
編輯回答
互擼娃

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

// import Lodash...
_.sortBy(arr, [o => o.sort]);
let arrNew = arr.map((v, i) => (v.sort = i + 1, v));
2018年1月26日 04:36