匹配某个数组对应的数组对象的id的数组对象及过滤前下标
时间: 2024-10-15 20:21:09 浏览: 6
当你需要从一个数组中找到另一个数组中特定元素的对应ID,并同时获取它们在原数组中的索引位置,你可以这样做:
假设你有两个数组,一个是`arrayObjects`,包含对象及其ID,另一个是`idsArray`,只包含一串ID。
```javascript
let arrayObjects = [
{ id: 1, name: 'obj1' },
{ id: 2, name: 'obj2' },
{ id: 3, name: 'obj3' }
];
let idsArray = [1, 3]; // 要查找的ID列表
// 创建一个新数组来存储匹配结果,包括对象和其在原数组的索引
let matchedItems = [];
for (let i = 0; i < arrayObjects.length; i++) {
if (idsArray.includes(arrayObjects[i].id)) {
matchedItems.push({ object: arrayObjects[i], index: i });
}
}
matchedItems; // 结果:[ { object: { id: 1, name: 'obj1' }, index: 0 }, { object: { id: 3, name: 'obj3' }, index: 2 } ]
```
在这个例子中,`matchedItems`数组包含了每个在`idsArray`中存在的`arrayObjects`中的对象以及它们在原数组中的原始索引。如果某个ID在`idsArray`中不存在,那么相应的对象将不会出现在`matchedItems`数组中。
阅读全文