我有一组数据。我想要做的是从它为空的对象中删除该属性,就像我想删除 img 属性的第三个对象一样。到目前为止我尝试过的是
var data = [{
id: 1,
name: 'name1',
img: 'car1'
},
{
id: 2,
name: 'name2',
img: 'car2'
},
{
id: 3,
name: 'name3',
img: null
}
]
data.forEach(function(value) {
for (var key in value) {
if (value.hasOwnProperty(key)) {
var val = value[key];
if (val == null) {
delete data[value[key]];
}
}
}
});
console.log(data);
但是删除没有发生,知道我做错了什么吗?
答案 0 :(得分:2)
var data = [{
id: 1,
name: 'name1',
img: 'car1'
},
{
id: 2,
name: 'name2',
img: 'car2'
},
{
id: 3,
name: 'name3',
img: null
}
]
data.forEach(d => {
Object.keys(d).forEach(key => {
if (d[key] == null) delete d[key];
});
});
console.log(data);