如何移除JSON中带空值的键及数组空值元素?
移除JSON数组中含空值的元素的实现方法
没问题,这个需求很常见,用JavaScript的数组和对象方法就能轻松搞定!
针对你给出的数组,我们可以用filter配合Object.values来实现:
const A = [ { company: 'yes' }, { fruit: 'apple' }, { id: null } ]; const filteredA = A.filter(obj => !Object.values(obj).includes(null)); // 此时filteredA就是你想要的结果:[{ company: 'yes' }, { fruit: 'apple' }]
代码逻辑解释:
Array.filter():遍历数组,只保留满足回调函数条件的元素Object.values(obj):把当前对象的所有值提取成一个数组(比如第三个对象会得到[null])!Object.values(obj).includes(null):判断对象的所有值里不包含null,只有符合这个条件的对象才会被保留
如果你的场景里需要过滤更多类型的空值(比如undefined、空字符串''),可以把条件改成用some来检查:
const filteredA = A.filter(obj => !Object.values(obj).some(val => val == null || val === ''));
这里val == null会同时匹配null和undefined,加上val === ''就能过滤掉空字符串的情况,按需调整即可。
内容的提问来源于stack exchange,提问作者DD DD
相关产品推荐
相关产品推荐

