我有一个包含 100 个对象的列表。当对象的属性值为 null 时,我想删除整个对象。现在 if 语句不正确,我该如何解决这个问题?
对象:
{ id: 'blockstack-iou',
name: 'Blockstack (IOU)',
symbol: 'stx',
image: 'missing_large.png',
market_cap_usd: 174267825,
market_cap_change_percentage: null,
market_cap_relative_market_cap_percentage: 0 }
代码:
for (let i = 0; i < 100 ; i++) {
// console.log(object[i]);
console.log(Object.values(object[i]));
//TODO: if one property value of the data is null delete object
if (Object.values(object[i]) == null) {
console.log("Null detected and object deleted");
delete object[i];
}
}
console.log(Object.values(object[i])) 的输出;
[ 'blockstack-iou',
'Blockstack (IOU)',
'stx',
'missing_large.png',
174267825,
null,
0 ]
最佳答案
您可以使用filter()
在原始数组上返回 Object.values(object[i])
不返回的项 include 空
。
const object = [
{p1: 1, p2: 1},
{p1: 2, p2: null},
{p1: 3, p2: null},
{p1: 4, p2: 4}
];
const result = object.filter(o => !Object.values(o).includes(null));
console.log(result);
关于javascript - 检测对象的属性值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59649687/