簡體   English   中英

如何對 JS 的 arrays 使用自定義排序進行排序?

[英]How to sort using a custom sort on arrays for JS?

假設我有一個類似[2,5,1,11,10,45]的數組和一個變量num = 99 我想根據最接近的倍數(也應該是最小的倍數)到 99 或可以將其除以最小倍數的數字對數組進行排序。

因此,如果我們看到上面的數組,我們可以看到 99 可以被 11 完全整除,其中商為 9。除以我的 10 將產生除數為 10。其他人也是如此。 但是當我們除以 99/45 時,商為 2。

因為 1 始終是 99 的倍數或 99 以外的任何數字。它應該位於數組的末尾。

簡而言之,它應該根據最小商進行排序。

所以排序的 output 應該是 [45,11,10,5,2,1]。

試試這個: [2,5,1,11,10,45].sort((a, b) => 99 / b - 99 / a)

但是,如果您的邏輯僅在除法中,則您可以對數字進行排序:

[2,5,1,11,10,45].sort((a, b) => b - a)

因為比n大,比除法的結果小

暫無
暫無

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

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