如何使用JavaScript从对象数组中删除对象?
我有一个对象数组,其中一些对象是未定义的,我想知道如何删除它们我知道有多少个,但不知道如何从对象数组中删除它们。我知道该使用这种方法,但我需要一些更标准的方法如何使用JavaScript从对象数组中删除对象?,javascript,object,Javascript,Object,我有一个对象数组,其中一些对象是未定义的,我想知道如何删除它们我知道有多少个,但不知道如何从对象数组中删除它们。我知道该使用这种方法,但我需要一些更标准的方法 const data = [ { roleDoc:{ name:"A" } }, { roleDoc: undefined } ,{ roleDoc:{
const data = [
{
roleDoc:{
name:"A"
}
},
{ roleDoc: undefined }
,{
roleDoc:{
name:"c"
}
},{
roleDoc:{
name:"c"
}
},
{ roleDoc: undefined },
,{
roleDoc:{
name:"c"
}
}
]
const xy = []
data.forEach(item => {
if(item.roleDoc !== undefined){
xy.push(item)
}
else{
console.log('hello')
}
})
console.log(xy)
预期产量为
const data = [
{
roleDoc: {
name: "A"
}
},
,
{
roleDoc: {
name: "c"
}
},
{
roleDoc: {
name: "c"
}
},
,
{
roleDoc: {
name: "c"
}
}
];
您可以使用删除未定义的
请尝试以下操作:
const data=[{roleDoc:{name:{A}},{roleDoc:undefined},{roleDoc:{name:{c}},{roleDoc:{name:{c}},{roleDoc:undefined},{roleDoc:{name:{c}}];
const result=data.filter(e=>e.roleDoc);
控制台日志(结果)代码>您可以使用删除未定义的代码
请尝试以下操作:
const data=[{roleDoc:{name:{A}},{roleDoc:undefined},{roleDoc:{name:{c}},{roleDoc:{name:{c}},{roleDoc:undefined},{roleDoc:{name:{c}}];
const result=data.filter(e=>e.roleDoc);
控制台日志(结果)代码>您可以使用和代码>仅匹配有效
const data=[{roleDoc:{name:{A}},{roleDoc:undefined},{roleDoc:{name:{c}},{roleDoc:{name:{c}},{roleDoc:undefined},{roleDoc:{name:{c}}];
设res=data.filter(a=>!!a.roleDoc);
console.log(res)
您可以使用和代码>仅匹配有效
const data=[{roleDoc:{name:{A}},{roleDoc:undefined},{roleDoc:{name:{c}},{roleDoc:{name:{c}},{roleDoc:undefined},{roleDoc:{name:{c}}];
设res=data.filter(a=>!!a.roleDoc);
console.log(res)
您可以使用以下函数使用函数编程方法:
const数据=[
{
罗莱多克:{
姓名:“A”
}
},
{
roleDoc:未定义
},
{
罗莱多克:{
名称:“c”
}
},
{
罗莱多克:{
名称:“c”
}
},
{
roleDoc:未定义
},
{
罗莱多克:{
名称:“c”
}
}
];
const arraywhithoutundefineds=data.filter(el=>typeof el.roleDoc!=='undefined');
console.log(没有未定义的数组);
请注意,所使用的表达式可以简化。但是,为了清楚发生了什么,我将把它放在那里。您可以使用函数编程方法使用函数:
const数据=[
{
罗莱多克:{
姓名:“A”
}
},
{
roleDoc:未定义
},
{
罗莱多克:{
名称:“c”
}
},
{
罗莱多克:{
名称:“c”
}
},
{
roleDoc:未定义
},
{
罗莱多克:{
名称:“c”
}
}
];
const arraywhithoutundefineds=data.filter(el=>typeof el.roleDoc!=='undefined');
console.log(没有未定义的数组);
请注意,所使用的表达式可以简化。不过,如果事情发生得很清楚,我就把它放在那里