5

要するに、異なる可能性のある2つの配列があり、一連の「アクション」(追加と削除)として違い/変換を取得したいと考えています。つまり、基本的な例では次のようになります。

Current: [a, b, d]
Desired: [a, b, c, d]
Actions: Add c in position 2

基本的に、指示は現在の配列を変換して、目的の配列と同じメンバーと順序になるようにする方法です。私のアプリケーションでは、各変更は UI などを更新するイベントをトリガーするため、アクションが「冗長」でない場合は非常に望ましいでしょうremove d, add c @ 2, add d @ 3。システム。

おそらく、説明に役立つ別の例として:

Current: [a, b, d]
Desired: [b, c, d, a]
Actions: remove a, add c @ 1, add a @ 3

これは以前に解決されたものだと思いますが、「配列の違い」では正しい結果が得られないため、検索するのはちょっと難しいです。

問題があれば、これを Javascript で実装していますが、アルゴリズムは言語に依存しないと思います。

4

1 に答える 1