判断两个数组,相同元素重新放入一个数组中

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' }
// ]

 

posted @ 2025-04-15 18:06  挽你手  阅读(29)  评论(0)    收藏  举报