fiflter匹配某个数组对应的数组对象的id的数组对象及下标
时间: 2024-10-15 09:21:02 浏览: 37
在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);
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)