js删除json数组集合中多个指定集合
时间: 2024-09-06 16:06:29 浏览: 41
在JavaScript中,如果你有一个JSON数组集合,并想要删除其中的多个指定元素集合,可以使用`filter()`函数结合条件判断来达到目的。假设你有一个JSON数组`arr`,每个元素是一个对象,例如:
```javascript
let arr = [
{ name: 'A', type: 'type1' },
{ name: 'B', type: 'type1' },
{ name: 'C', type: 'type2' },
{ name: 'D', type: 'type1' }
];
```
如果你想删除所有`type`为'type1'的项,你可以这样做:
```javascript
let typesToRemove = ['type1'];
let filteredArr = arr.filter(item => !typesToRemove.includes(item.type));
```
这将返回一个新的数组,只包含`type`不是'type1'的对象。如果想删除的是一个对象的数组,你可以先转成键值对数组,再过滤:
```javascript
let toRemove = [{name: 'D'}];
let keyValueArr = arr.map(obj => ({ key: obj.name, value: obj }));
let filteredKeyValueArr = keyValueArr.filter(item => !toRemove.some(removeItem => item.key === removeItem.name));
let filteredArr = filteredKeyValueArr.map(item => ({ ...item.value }));
```
现在`filteredArr`就只剩下`{ name: 'C', type: 'type2' }`了。
阅读全文