두 개의 서로 다른 시스템을 동기화하는 node.js에 API를 작성하려고하는데 원본 시스템에서받은 객체 배열을 분해하는 데 문제가 있습니다. (새 것 (I 대상 시스템에 보낼 필요는 의미), 세 사람 - 나는 또한이 무엇배열 키 목록을 기반으로 JSON 배열에서 항목을 제거하려면 어떻게해야합니까?
sourcedata = {
"items": [
{ "id": "item1",
"some fields": {...array of some fields },
"more fields": {another block of fields}
},
{ "id": "item2",
"some fields": {...array of some fields },
"more fields": {another block of fields}
}]
}
이 ID의 세 가지 배열 인 : 기본적으로,이 같은 비트 보이는 배열을받을 대상에서 삭제) 및 둘 다에 나타나는 태그 - 특수 태그가 다른 태그인지 확인하기 위해 필요합니다.
newitems = [id1,id2,id3]
existingItems [id4,id5,id6]
deletedItems = [id7,id8]
난 할 노력하고있어에만 신규 및 기존 항목의 데이터를 포함하는 새로운 배열을 생성, 그래서 처리하고 각각에 대해 sourcedata 배열을 스캔하지 않고 대상 시스템에 그들을 보내 수 있습니다 열쇠와 무엇을 해야할지 결정. 나는 간단한 배열을 비교할 때 그렇게하는 법을 알고 있지만 여기서는 전체 객체와 모든 필드를 복사해야합니다. 올바른 방법을 찾을 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
이전에 그랬지만 더 복잡한 배열에 적용하는 방법을 아직 모르고 있으며 새 배열 항목과 기존 항목을 메인 배열에서 분리하는 가장 효율적인 방법을 찾고 있습니다. 대상 시스템에서 항목을 삭제하려면 ID가 필요하지만 업데이트를 보내려면 전체 데이터 집합이 필요합니다. – NadavM
@ user3541347이 방법은 모든 배열에서 잘 작동합니다. "복잡한"배열에서 작동하지 않는다고 생각하는 특별한 요구 사항은 무엇입니까? – maowtm
내 실수 - 배열을 참조하는 것을 잊어 버렸습니다. 기본적으로 원래의 변수는 컨테이너 안에 배열을 가지고 있으므로 간단히 오른쪽의 변수를 참조해야했습니다. 매력처럼 작동합니다! – NadavM