したがって、100,000 個以上のアイテムの配列があり、この行によりコール スタックが吹き飛ばされます。
@sortedList.sort (a, b) ->
return if a.value > b.value then -1 else 1
この問題を回避するために、さまざまなカスタムの並べ替えを実装しようとしています (提案、誰か?)。
したがって、100,000 個以上のアイテムの配列があり、この行によりコール スタックが吹き飛ばされます。
@sortedList.sort (a, b) ->
return if a.value > b.value then -1 else 1
この問題を回避するために、さまざまなカスタムの並べ替えを実装しようとしています (提案、誰か?)。
次の場合はどうなりa.value == b.value
ますか? アイテムが同じ場合、比較sort
関数はゼロを返す必要があります。
compareFunction(a, b)
が 0 未満の場合a
、 より小さいインデックスに並べ替えますb
。- 0 を返す場合、互いに変更されず
compareFunction(a, b)
に残さa
れますb
が、すべての異なる要素に関してソートされます。compareFunction(a, b)
が 0 より大きい場合はb
、 より小さいインデックスに並べ替えますa
。
したがって、次のようなものがもっと必要です。
if a.value > b.value
-1
else if a.value < b.value
1
else
0
欠落したa.value == b.value
枝はsort
、気を失い、あちこちを混乱させる可能性があります。ブランチが that going before と going beforeと言っ==
ているわけではありません。そこから賢明な結果を期待することはできません。a
b
b
a