如何使用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(没有未定义的数组);
请注意,所使用的表达式可以简化。不过,如果事情发生得很清楚,我就把它放在那里