したがって、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と言っ==ているわけではありません。そこから賢明な結果を期待することはできません。abba