javascript - 如何在javascript中删除空数组长度

标签 javascript

我有一个对象。如果对象属性数组为空,我需要删除它。为了。例如,测试和书籍将被删除并给出其他值。

const PermissionObj = {
   permission: [
    {
      "test": []
   },
   {
      "books": []
   },
   {
      "Journals": [
         {
            "label": "Can View",
            "value": "can_view"
         },
         {
            "label": "Can Create",
            "value": "can_create"
         }
      ]
   },
   {
      "deal": [
         {
            "label": "Can update",
            "value": "can_update"
         },
         {
            "label": "Can delete",
            "value": "can_delete"
         }
      ]
   }
 ]
};

我正在使用双循环来解决这个问题,但我真的很麻烦

最佳答案

使用filter()使用条件,使用Object.value()将Object转为Array

const result = PermissionObj.permission.filter(x => Object.values(x)[0].length !== 0);

  const PermissionObj = {
    permission: [
      {
        test: []
      },
      {
        books: []
      },
      {
        Journals: [
          {
            label: "Can View",
            value: "can_view"
          },
          {
            label: "Can Create",
            value: "can_create"
          }
        ]
      },
      {
        deal: [
          {
            label: "Can update",
            value: "can_update"
          },
          {
            label: "Can delete",
            value: "can_delete"
          }
        ]
      }
    ]
  };
    const a = PermissionObj.permission.filter(x => Object.values(x)[0].length !== 0);
  console.log(a);

关于javascript - 如何在javascript中删除空数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60849426/

相关文章:

javascript - Sinon - 带有回调的 stub 函数 - 导致测试方法超时

javascript - 如何在多个页面中显示从数据库中获取的行?

javascript - "pickBy"对象的值数组中的值

javascript - JSON.stringify() 不适用于具有类的对象

javascript - 带有两个参数的“数据”回调不会将 buffer.toString() 打印为字符串

javascript - Tesseract.js 与 React : Tainted canvases may not be exported

javascript - 如何使用 react-big-calendar 的 slotPropGetter 为特定日期和特定时间着色?

JavaScript 函数 : Generate a random integer within specified range AND digit limit

javascript - 粘贴到文本区域时保留 JavaScript 字符串的换行符

javascript - 以下内容是有效的 XHTML 1.0 Transitional 吗?