두 개의 동적 개체 배열 병합: 두 개의 동적 개체 배열을 하나로 병합합니다.
P粉903969231
P粉903969231 2023-08-18 14:53:48
0
1
500
<p>아래 표시된 대로 두 개체의 동적 배열이 있습니다(이것은 n 개체의 동적 배열입니다). </p> <pre class="brush:php;toolbar:false;">serverArray = [ {"id":"field1","필수":false,"visible":false}, {"id":"field2","필수":false,"visible":false}, {"id":"field3","필수":false,"visible":false}, {"id":"field4","필수":false,"visible":false} ] 로컬 배열 = [ {"id":"field1"}, {"id":"field2","필수":false}, {"id":"field3","필수":true,"visible":false}, {"id":"field4","필수":false,"visible":true}, {"id":"field5","필수":false,"visible":true}, {"id":"field6","필수":true,"visible":false}, ]</pre> <p>두 배열을 다음과 같이 동일한 ID를 가진 개체로 병합했습니다. </p> <pre class="brush:php;toolbar:false;">for (let x = 0; x < serverArray.length; x++) { for (let y = 0; y < localArray.length; y++) { if (serverArray[x].id == localArray[y].id) { // serverArray[x].id/localArray[y].id = 'field1', 'field2' for (let key in localArray[y]) { //key = 'id', 'mandatory' 등 serverArray[x][key] = localArray[y].hasOwnProperty(key) ? localArray[y][key] : serverArray[x][key]; //최종 반환 응답에서 로컬 필드 속성 값(있는 경우)으로 재정의 } } } }</pre> <p>그러나 최종 <code>serverArray</code>에는 <code>serverArray</code>에 없는 ID도 포함하고 싶습니다(예: <code>field5</). 위의 code>, <code>field6</code>), 이러한 필드도 위 조건을 충족하지 못합니다(예: <code>serverArray[x].id == localArray[y].id</code>). 이 필드가 최종 <code>serverArray</code>의 일부로도 포함되기를 바랍니다. 즉, 최종 <code>serverArray</code>에는 다음 두 개체도 포함되어야 합니다. </p> <pre class="brush:php;toolbar:false;">{"id":"field5","mandatory":false,"visible":true}, {"id":"field6","필수":true,"visible":false},</pre> <p>이 요구 사항을 충족할 수 있는 방법이 있나요? </p>
P粉903969231
P粉903969231

모든 응답(1)
P粉330232096

두 배열을 반복하는 동안 병합된 필드를 추적하기 위해 새 개체를 만들 수 있습니다. 초기 병합 후 localArray를 다시 반복하여 아직 serverArray에 병합되지 않은 필드를 식별하고 이를 병합된 결과에 추가할 수 있습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿