function updateArrayWithMatchingIds(A, B) {
// 创建一个新数组来存储具有相同id的B数组中的元素
let matchingElements = [];
// 遍历数组B
for (let i = 0; i < B.length; i++) {
// 检查B[i]的id是否存在于数组A中
if (A.some(itemA => itemA.id === B[i].id)) {
// 如果存在相同的id,将B[i]添加到matchingElements数组中
matchingElements.push(B[i]);
}
}
// 清空数组A
A.length = 0;
// 将具有相同id的B数组中的元素添加到数组A中
for (let i = 0; i < matchingElements.length; i++) {
A.push(matchingElements[i]);
}
// 返回更新后的数组A
return A;
}
// 示例用法
let A = [
{ id: 1, name: 'A' },
{ id: 2, name: 'B' }
];
let B = [
{ id: 1, name: 'C' },
{ id: 2, name: 'D' },
{ id: 3, name: 'f' }
];
let updatedA = updateArrayWithMatchingIds(A, B);
console.log(updatedA);
// 输出: [
// { id: 1, name: 'C' },
// { id: 2, name: 'D' }
// ]