如何在Javascript数组中按键删除对象?

时间:2016-08-20 17:58:19

标签: javascript arrays key pop splice

我有一个像这样的数组:

[{
  '0': [7]
}, {
  references: [0]
}, {
  '1': [8]
}, {
  references: [9]
}, {
  '2': [20]
}, {
  references: [50]
}]

我想删除包含reference键的所有对象。有什么建议吗?

2 个答案:

答案 0 :(得分:4)

不是pop或splice,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) });

答案 1 :(得分:0)

在文字表示法中使用对象。然后,您可以通过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);
    } 
}