요약하면 두 개의 배열이 다를 수 있습니다. 차이점/변형을 일련의 "동작"(추가 및 제거)으로 사용하고 싶습니다. 즉 기본 예제입니다 :일련의 동작으로 배열 차이가 있습니다.
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
을 나는 그림이 이전에 해결 된 일이지만 "배열의 차이"이후 검색하기 좀 어려운 당신에게 제공하지 않습니다 올바른 결과.
중요한 점은 자바 스크립트로 구현하고 있지만 알고리즘은 언어에 구애받지 않는다고 생각합니다.
당신은'diff' 유틸리티와 같은 것을 찾고 있습니까? –