簡體   English   中英

如何使用 javascript 中的重復次數對數組進行排序

[英]how to order an array with the number of repetitions in javascript

如何按重復次數對這個數組進行排序,例如,如果數字重復一次,則應首先顯示,如果顯示為 3,您稍后會看到,依此類推。

由此

10,8,1,1,1,4,4,5,5,5,5

給他的

10,8,4,4,1,1,1,5,5,5,5

我嘗試進行潛水以將其分開,然后使用高度來獲得重復次數,但這對我來說非常復雜

您可以使用自定義“排序”function。 在這種情況下,您希望能夠按輸入數組中的實例數進行排序,因此您可以計算計數的 map 以在排序時用作參考

 /* from this 10,8,1,1,1,4,4,5,5,5,5 to his 10,8,4,4,1,1,1,5,5,5,5 */ const input = [10,8,1,1,1,4,4,5,5,5,5]; const counts = input.reduce((a, c) => { a[c] = (a[c] || 0) + 1; return a; }, {}); console.log({counts}); console.log(input.sort((a, b) => { return counts[a] - counts[b]; }));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM