let arr = [{spuId: 647, name: 'aa'}, {spuId: 648, name: 'bb'}] let b = { spuId: 647} 在js中, 我需要从arr中剔除掉 b中spuId相等的那一项
时间: 2024-09-27 11:06:34 浏览: 38
在JavaScript中,你可以使用`filter()`方法结合`Object.keys()`和`indexOf()`来实现这个需求。首先,你需要找出`b`的对象在`arr`中的索引,然后用`Array.prototype.splice()`方法来删除对应项。这里是一个示例:
```javascript
let arr = [{ spuId: 647, name: 'aa' }, { spuId: 648, name: 'bb' }];
let b = { spuId: 647 };
// 获取b在arr中的索引
let index = arr.findIndex(obj => obj.spuId === b.spuId);
// 如果找到了匹配项
if (index !== -1) {
// 删除匹配项
arr.splice(index, 1);
}
console.log(arr); // 结果将是 [{ spuId: 648, name: 'bb' }]
```
如果你确定`b`的对象一定存在并且只有一个,那么`findIndex()`就能确保找到唯一的一项。如果没有找到,`findIndex()`会返回 `-1`。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)