我有一个数组
const exampleArray = [
{
id: 1,
name: test
},
{
id: 1,
name: test
},
{
},
]
现在数组exampleArray
位于另一个对象数组中,所以
const exampleNest = [{
property1: {},
property2: [],
exampleArray: [{...}],
}]
我需要删除exampleArray
内的空对象并返回数组的其余部分。
我已经尝试使用过滤器
const noEmptyObjects = exampleNest.filter(({ exampleArray }) =>
exampleArray.filter(attachment => attachment !== {}),
);
我也尝试了Object.keys(attachment).length !== 0
而不是attachment !== {}
,但是我继续收到带有空项目的数组。
答案 0 :(得分:1)
您可以使用简单的https://stackoverflow.com/a/32108184/3932166来检查空对象并对此数组进行检查。
exampleArray.filter(attachment => (condition from above link));
答案 1 :(得分:0)
您可以通过检查对象是否具有id属性来过滤数组
exampleArray.filter(function(obj) { return obj.hasOwnProperty("id"); })
答案 2 :(得分:0)
因为{}是对象。因此,{} == {}始终为假。
exampleArray.filter(attachment => JSON.stringify(attachment) !== "{}")