gpt4 book ai didi

javascript - 如果对象中的属性不存在,如何从数组中删除对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:29:47 25 4
gpt4 key购买 nike

我有以下数据集合

[{
id: '1',
date: '2017-01-01',
value: 2
},
{
id: '2',
date: '2017-01-02',
value: 3
},
{
id: '3',
value: 3
},
id: '4',
date: '2017-01-02',
value: 3
}]

我想删除任何没有“日期”属性的对象。在上面的示例中,应删除 ID 为 3 的对象。

完成的对象应该是这样的

[{
id: '1',
date: '2017-01-01',
value: 2
},
{
id: '2',
date: '2017-01-02',
value: 3
},
id: '4',
date: '2017-01-02',
value: 3
}]

我尝试使用 lodash 查找并删除未定义的值。这是行不通的。物体看起来与进入时完全一样。

  _.each(obj, (val) => {
_.remove(val, value => value['XXX-BUDAT'] === undefined);
});

我如何使用 lodash 来达到这个目的?

提前致谢

最佳答案

您可以使用 .filter() , Object.keys() , 和 .includes()

let input = [
{ id: '1', date: '2017-01-01', value: 2},
{ id: '2', date: '2017-01-02', value: 3},
{ id: '3', value: 3 },
{ id: '4', date: '2017-01-02', value: 3 }
]

let output = input.filter(obj => Object.keys(obj).includes("date"));

console.log(output);

关于javascript - 如果对象中的属性不存在,如何从数组中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51367551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com