用foreach 遍历数组删除对象的属性
时间: 2024-05-16 22:17:31 浏览: 80
可以使用forEach方法遍历数组,然后使用delete操作符删除对象的属性。以下是一个示例代码:
```javascript
const arr = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 }
];
arr.forEach(function(obj) {
delete obj.age;
});
console.log(arr);
// Output: [{ name: 'Alice' }, { name: 'Bob' }, { name: 'Charlie' }]
```
在上面的代码中,forEach方法遍历数组arr中的每个对象。在遍历过程中,使用delete操作符删除了每个对象的age属性。最后,输出修改后的数组。
相关问题
JS 怎么判断一个数组中的对象的某个属性的值是否在另一个数组的对象的属性 并且删除 对象
可以使用数组的filter方法来过滤不符合条件的对象,再使用forEach方法遍历需要删除的对象并使用splice方法删除。
例如,假设有两个数组arr1和arr2,arr1中的对象有属性id,arr2中的对象有属性parentId,需要判断arr1中的对象的id是否在arr2中的对象的parentId中,如果是则删除该对象。
代码实现如下:
```javascript
var arr1 = [
{ id: 1, name: 'obj1' },
{ id: 2, name: 'obj2' },
{ id: 3, name: 'obj3' },
{ id: 4, name: 'obj4' }
];
var arr2 = [
{ parentId: 1, content: 'content1' },
{ parentId: 2, content: 'content2' },
{ parentId: 4, content: 'content4' }
];
arr1 = arr1.filter(function(item) {
// 如果arr2中有parentId等于item.id的对象,则删除该对象
var hasItem = arr2.some(function(item2) {
return item2.parentId === item.id;
});
return !hasItem;
});
arr2.forEach(function(item, index) {
// 如果arr1中有id等于item.parentId的对象,则删除该对象
var hasItem = arr1.some(function(item1) {
return item1.id === item.parentId;
});
if (hasItem) {
arr2.splice(index, 1);
}
});
console.log(arr1); // [{ id: 3, name: 'obj3' }]
console.log(arr2); // [{ parentId: 2, content: 'content2' }]
```
js 删除数组某一属性
要删除JavaScript数组中的某个属性,你可以使用以下几种方法:
方式一:使用for循环遍历数组,并删除指定属性
```javascript
for (const key in newArr) {
delete newArr[key].id;
}
```
方式二:使用map方法遍历数组,并删除指定属性
```javascript
let newArrVal = JSON.parse(JSON.stringify(newArr));
newArrVal.map(e => {
delete e.id;
});
```
方式三:使用forEach方法遍历数组,并删除指定属性
```javascript
newArr.forEach(item => {
if (item.id) {
delete item.id;
}
});
```
以上是三种常见的删除数组对象属性的方法。
参考资料:
如果你还有其他问题,请告诉我。
阅读全文