javascript - 如何在javascript中删除空数组长度
问题描述
我有一个对象。如果它是空的,我需要删除对象属性数组。为了。例如, test 和 books 将被删除并赋予其他值。
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);
推荐阅读
- reactjs - 在 Enzyme 中安装时通过 HOC 获取道具
- matlab - 线的颜色和宽度根据矩阵的值
- flutter - Flutter 有状态小部件
- python - 如何解决django app deploy without port number时目标脚本无法加载为python模块的错误
- angular6 - ngrx 和导出成员错误 [没有导出成员]
- shell - 使用 SSHJ 实现跳转主机
- postgresql - 如何在触发函数中使用json字符串元素而不将其声明为变量
- python-3.x - os.system(cmd) 调用因重定向运算符而失败
- ajax - 为什么在使用 ajax 时需要更改 url
- pyqt5 - 更改 QLabel 的形状