【问题标题】:Angular 2 delete value from object arrayAngular 2从对象数组中删除值
【发布时间】:2018-10-29 19:56:11
【问题描述】:

我有 1 个包含对象的数组:

one = [
    {name: 'Name', key: '4868466'},
    {name: 'Name', key: '4868466'},
    {name: 'Name', key: '4868466'},
    {name: 'Name', key: '4868466'}
]

我想把key全部删除,怎么做?

【问题讨论】:

  • 到目前为止你有没有尝试过?循环或删除有问题吗?

标签: javascript angular typescript


【解决方案1】:

一种方法是遍历并删除属性

one.forEach(o => delete o.key);

【讨论】:

  • 如果我尝试 one.forEach(o => delete o.this.myVar);它不起作用。
  • 应该是o.key(key是要删除的属性名)
  • 实际上,@ Angulandy2 试图删除变量中存在的键(不是文字),因为他必须使用 one.forEach(o => delete o[this.myVar]);
【解决方案2】:

您可以执行以下操作

const one = [
    {name: 'Name', key: '4868466'},
    {name: 'Name', key: '4868466'},
    {name: 'Name', key: '4868466'},
    {name: 'Name', key: '4868466'},
]

const result = one.map((item) => {
 delete item.key
 return item
})

console.log("result:", result)

【讨论】:

  • 如果我在删除 item.key - 我希望 key 是可变的?
  • 对不起,我没听懂您的意思...您能把您的观点说得更清楚一点吗?
  • 我只希望 item.key 是 item.(myvariable)。 - 不是数组中的值。
  • 你是说,代替'key',它可以是任何东西,对吧?对于该用途,删除 item[myVariable]
  • 抱歉,还有一个问题,如果我想从数组对象数组中删除项目怎么办?
猜你喜欢
  • 2023-03-28
  • 2015-08-01
  • 2020-01-20
  • 2017-09-10
  • 1970-01-01
  • 2018-08-27
  • 2017-03-10
  • 1970-01-01
  • 2020-10-21
相关资源
最近更新 更多