请你扮演一个资深的前端开发工程师,帮我写一个根据一组数组中的id值匹配另一个数组套对象,对象的id值,如果匹配上了将id和中文添加到新的数组中
时间: 2023-11-22 10:53:31 浏览: 65
好的,这个问题可以用 JavaScript 来解决。假设我们有两个数组:
```javascript
const ids = [1, 2, 3, 4, 5];
const objects = [
{ id: 1, name: 'Apple' },
{ id: 3, name: 'Banana' },
{ id: 5, name: 'Cherry' }
];
```
我们希望根据 `ids` 数组中的 id 值,将 `objects` 数组中对应 id 的对象中的中文名称添加到一个新的数组中。可以按照以下步骤操作:
1. 定义一个空数组来存储匹配后的结果。
2. 使用 forEach() 方法遍历 `ids` 数组。
3. 对于每个 `id`,使用 find() 方法在 `objects` 数组中查找匹配的对象。如果找到了,将对象中的 `name` 属性添加到结果数组中。
4. 返回结果数组。
下面是代码示例:
```javascript
function matchObjects(ids, objects) {
const result = [];
ids.forEach(id => {
const object = objects.find(obj => obj.id === id);
if (object) {
result.push({ id, name: object.name });
}
});
return result;
}
// 测试
const result = matchObjects(ids, objects);
console.log(result); // [{ id: 1, name: 'Apple' }, { id: 3, name: 'Banana' }, { id: 5, name: 'Cherry' }]
```
这个函数接受两个参数 `ids` 和 `objects`,分别是包含 id 值的数组和包含对象的数组。它返回一个新的数组,其中每个元素都包含 `id` 和 `name` 属性。
阅读全文