Rumah > Soal Jawab > teks badan
P粉3302320962023-08-19 13:04:50
Semasa menggelung melalui kedua-dua tatasusunan, anda boleh mencipta objek baharu untuk menjejaki medan yang digabungkan. Selepas penggabungan awal, anda boleh mengulangi localArray sekali lagi untuk mengenal pasti medan yang belum digabungkan ke dalam serverArray dan menambahnya pada hasil gabungan.
let mergedFields = {}; // 根据共同的ID进行初始合并 for (let y = 0; y < localArray.length; y++) { const localField = localArray[y]; const serverField = serverArray.find(field => field.id === localField.id); if (serverField) { mergedFields[localField.id] = { ...serverField, ...localField }; } else { mergedFields[localField.id] = localField; } } // 添加在mergedFields中不存在的剩余localArray字段 for (let y = 0; y < localArray.length; y++) { const localField = localArray[y]; if (!mergedFields.hasOwnProperty(localField.id)) { mergedFields[localField.id] = localField; } } // 将mergedFields对象转换回数组 const mergedServerArray = Object.values(mergedFields); console.log(mergedServerArray);