概要2つのテキストデータ(メールアドレス、ID一覧等)を入力し、集合演算(積集合・差集合・和集合)を用いて「重複・共通要素」「リストAのみ」「リストBのみ」「ユニーク統合」をリアルタイムに抽出するツールです。実装ポイント正規化とMap/Setによる $O(N+M)$ 高速比較: 大文字小文字や余白トリムを正規化したキーをSetに格納し、元の表記をMapで保持して高速抽出。完全ローカル実行: 機密性の高い顧客IDやメールアドレスが外部に流出しない安全設計。
2リスト高速比較・重複差分抽出ツール (List Diff & Deduplicator)
前後の余白をトリム
大文字・小文字を無視 (A=a)
引用符(")を無視
結果を昇順ソート
📋 リストA (基準データ / 過去名簿など)
0 件 (ユニーク: 0)
<div class="card">
<div style="display:flex; justify-content:space-between; margin-bottom:8px;">
<label style="font-weight:bold; font-size:0.9rem; color:var(--only-b-color);">📋 リストB (比較対象 / 最新名簿など)</label>
<span id="countB" style="font-size:0.8rem; color:var(--text-muted);">0 件 (ユニーク: 0)</span>
</div>
<textarea id="listB" placeholder="メールアドレス、ID、氏名などを改行区切りで入力..." oninput="compareLists()"></textarea>
</div>
サンプル読み込み
すべてクリア
🔄 両方に存在 (重複・共通) 0
🅰️ リストAのみ (削除・解約など) 0
🅱️ リストBのみ (新規追加など) 0
➕ 全体統合 (重複除外) 0
<textarea id="outputResult" style="height:260px;" readonly placeholder="比較結果がここに表示されます..."></textarea>
<div class="btn-bar">
<button class="btn-primary" onclick="copyResult()">抽出結果をクリップボードにコピー</button>
<button class="btn-secondary" onclick="downloadResult()">TXTファイルとしてダウンロード</button>
</div>
クリップボードにコピーしました!