gpt4 book ai didi

javascript - Angular 9 如何从 Angular 数组对象的所有数组中删除一个字段?

转载 作者:行者123 更新时间:2023-12-04 01:32:37 25 4
gpt4 key购买 nike

假设我有以下名为 indexesToBeRemoved 的列表:

indexesTobeRemoved = ['auto_id', 'auto_date']

我想遍历下面的数组:

allArrays = [
{
'auto_id': 123,
'auto_date': '2019-02-02',
'name': 'John Doe',
'address': 'USA'
},
{
'auto_id': 147,
'auto_date': '2019-03-02',
'name': 'Peter Doe',
'address': 'USA'
},
{
'auto_id': 258,
'auto_date': '2019-04-02',
'name': 'Hanna Doe',
'address': 'USA'
}
];

我需要遍历此数组中的每个数组以删除列表 indexesTobeRemoved 中存在的字段。因此,数组的数组将如下所示:

allArrays = [
{
'name': 'John Doe',
'address': 'USA'
},
{
'name': 'Peter Doe',
'address': 'USA'
},
{
'name': 'Hanna Doe',
'address': 'USA'
}
];

我尝试了以下方法:

removeIndexes() {
this.indexesTobeRemoved.forEach((value) => {
console.log(value);
Object.keys(this.allArrays).forEach((key, val) => {
this.allArrays.splice(value, 1);
console.log(this.allArrays[key]);
});
})

但是在执行时,数组 allArray 将变为空。

这是一个stackblitz .

最佳答案

您可以使用嵌套的forEach() 循环和delete 运算符

const allArrays = [ { 'auto_id': 123, 'auto_date': '2019-02-02', 'name': 'John Doe', 'address': 'USA' }, { 'auto_id': 147, 'auto_date': '2019-03-02', 'name': 'Peter Doe', 'address': 'USA' }, { 'auto_id': 258, 'auto_date': '2019-04-02', 'name': 'Hanna Doe', 'address': 'USA' } ];

let keys = ['auto_id', 'auto_date'];
allArrays.forEach(x => {
keys.forEach(k => delete x[k])
})
console.log(allArrays)

关于javascript - Angular 9 如何从 Angular 数组对象的所有数组中删除一个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60862544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com