以下是一个示例代码,用于遍历一个数组中的每个对象,在另一个数组中根据id进行匹配,并将它们拼接在一起:
// 定义示例数组1
const array1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
// 定义示例数组2
const array2 = [
{ id: 1, age: 25 },
{ id: 2, age: 30 },
{ id: 4, age: 20 }
];
// 创建一个空数组用于存储匹配后的对象
const resultArray = [];
// 遍历数组1中的每个对象
array1.forEach(obj1 => {
// 在数组2中查找匹配的对象
const matchedObj = array2.find(obj2 => obj2.id === obj1.id);
// 如果有匹配的对象,则将两个对象拼接在一起,并存储到结果数组中
if (matchedObj) {
const mergedObj = { ...obj1, ...matchedObj };
resultArray.push(mergedObj);
}
});
console.log(resultArray);
在上述示例中,我们使用forEach
方法遍历数组1中的每个对象。然后,我们使用find
方法在数组2中查找具有相同id的对象。如果找到了匹配的对象,我们将两个对象使用扩展运算符{ ...obj1, ...matchedObj }
进行拼接,并将结果存储到结果数组中。最后,我们打印结果数组。