fiflter匹配某个数组对应的数组对象的id的数组对象及下标
时间: 2024-10-15 08:21:02 浏览: 40
在JavaScript中,如果你有一个数组`arr`,它包含多个对象,每个对象都有一个名为`id`的属性,你可以使用`Array.prototype.filter()`方法来筛选出那些id匹配特定值的对象,并返回一个新的数组,同时包含原始对象及其索引。
例如:
```javascript
let arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Charlie' },
];
// 定义你要匹配的id值
let targetId = 1;
// 使用filter()方法
let matchedObjectsAndIndices = arr.filter((item, index) => item.id === targetId, {
id: targetId,
index: -1 // 这里可以忽略,因为index会在回调函数内部提供
});
matchedObjectsAndIndices.forEach((obj, i) => {
console.log(`Object with id ${targetId}: ${JSON.stringify(obj)}, at index ${i}`);
});
```
这个例子会返回所有id为1的数组元素,以及它们在原数组中的索引。如果你想得到的是仅仅匹配的元素,去掉索引信息,可以简化filter方法的第二个参数:
```javascript
let filteredItems = arr.filter(item => item.id === targetId);
```
阅读全文
相关推荐













