[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
44
(2): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:05 ID:RJZpwhgn0(1/6) AAS
>>41
要素数や重複要素のばらつき具合によって結果は変わるが、最終的には力業が最速な事が多い
外部リンク:jsfiddle.net

極端な結果になっているのは重複要素がすぐそばにあり、while文による検索ですぐに見つかる為だ
重複要素が遠い位置にあるなら、while文による検索が遅くなるケースも十分にある

>>41のコードが比較的高速なのも重複要素が比較的近くにある為だ
Object.valuesやArray#filterによる変換コストが検索コストより高くついているので、他のコードが比較的遅い

重複検知が頻繁に発生するようであれば、データのも持ち方を new Map や new Set を使うように変更した方がいい
配列はユニークな値を得るのに向いていない
45: (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:08 ID:RJZpwhgn0(2/6) AAS
>>44の補足
jsfiddleのconsoleはconsole.time()を実装していないようだ
ベンチマーク結果はブラウザのコンソールで確認する必要がある
46
(1): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:28 ID:RJZpwhgn0(3/6) AAS
すまん
>>44のwhile_loopは期待通りに動かないので忘れてほしい(console.assert()のコードをミスって気づかなかった)
重複要素のばらつき具合によるが、(>>41の配列においては)暫定最速は>>41
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s