4Manuals

  • PDF Cloud HOME

删除嵌套数组中的空对象 Download

    CSS / JS-如何覆盖一个孩子而不是其他孩子的父母过渡 反应:更改方向后触发重新渲染和offsetWidth的重新计算 我的Javascript从'string'转换为'integer'或'number'无效 如何删除外部索引并合并内部json 在React Native 图片无法通过javascript刷新 如何在react图表上的datakey中操作DateTime 如何在Swift中将数组的每个元素与下一个数组的每个元素相乘? 字符串数组在for循环中初始化时忽略索引0 在Cypress中保存变量

我有一个数组

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 !== {},但是我继续收到带有空项目的数组。

3 个答案:

答案 0 :(得分:1)

您可以使用简单的https://stackoverflow.com/a/32108184/3932166来检查空对象并对此数组进行检查。

exampleArray.filter(attachment => (condition from above link));

答案 1 :(得分:0)

因为{}是对象。因此,{} == {}始终为假。

exampleArray.filter(attachment => JSON.stringify(attachment) !== "{}")

答案 2 :(得分:0)

您可以通过检查对象是否具有id属性来过滤数组

exampleArray.filter(function(obj) { return obj.hasOwnProperty("id"); })



Similar searches
    使用AudioTrack播放PCm数据 MongoDB Compass无法连接到服务器,但是命令行可以正常工作 NavBar按钮不会拖到UIViewController的右上角 Samsung DA68-01453B Refrigerator User Manual 如何在mips的一个字符串中读取我的整个.txt文件?