【问题标题】:How to remove object by key in Javascript array?如何在Javascript数组中按键删除对象?
【发布时间】:2016-12-27 16:26:25
【问题描述】:
我有一个这样的数组:
[{
'0': [7]
}, {
references: [0]
}, {
'1': [8]
}, {
references: [9]
}, {
'2': [20]
}, {
references: [50]
}]
我想删除所有包含reference 键的对象。有什么建议吗?
【问题讨论】:
标签:
javascript
arrays
filter
key
splice
【解决方案1】:
不弹出或拼接,filter
var a = [
{ 0:[7]},
{ references:[0]},
{ 1:[8]},
{references:[9]},
{ 2:[20]},
{ references:[50]}
];
var filteredA = a.filter(function(item){ return !('references' in item) });
【解决方案2】:
以文字表示法使用对象。然后你可以通过hasOwnProperty方法找到密钥。
var a = [
{ 0:[7]},
{ references:[0]},
{ 1:[8]},
{references:[9]},
{ 2:[20]},
{ references:[50]}
]
for(i=0; i<a.length; i++) {
if(a[i].hasOwnProperty('references')) {
a.splice(i, 1);
}
}