如何在javascript中从数组中删除空对象?

如何在javascript中从数组中删除空对象?,javascript,arrays,Javascript,Arrays,我得到的数组如下所示 [{},  {}, {}, { label: '2015', showLabels: '1,' }, {},  {}, {}, { label: ‘2017’, showLabels: '1,' }] 但是,我想删除空索引 我已尝试删除以下内容。但是,没有像预期的那样工作 const filteredFinalYearArr = yearArray.filter(function (el) { return el != null; }); 注意:这是动态数据

我得到的数组如下所示

[{},
 {},
 {},
{ label: '2015', showLabels: '1,' },
 {},
 {},
 {},
{ label: ‘2017’, showLabels: '1,' }]
但是,我想删除空索引

我已尝试删除以下内容。但是,没有像预期的那样工作

const filteredFinalYearArr = yearArray.filter(function (el) {
  return el != null;
});
注意:这是动态数据

有什么建议吗?

您可以选择所有键数不为零的对象:

让yearray=[{},{},{},{label:'2015',showLabels:'1',},{},{},{label:'2017',showLabels:'1',}] 让filtered=yearray.filterel=>Object.keysel.length console.logfiltered您可以选择所有键数不为零的对象:

让yearray=[{},{},{},{label:'2015',showLabels:'1',},{},{},{label:'2017',showLabels:'1',}] 让filtered=yearray.filterel=>Object.keysel.length console.logfiltered查看检查对象是否为空的最佳方法。 常数年=[ {}, {}, {}, {label:'2015',showLabels:'1',}, {}, {}, {}, {标签:'2017',展示标签:'1',} ] 常量hasValues=obj=>{ obj中的forvar键{ ifobj.hasOwnPropertykey返回true } 返回错误 } const filteredears=years.filtery=>hasValuesy console.logfilteredears查看检查对象是否为空的最佳方法。 常数年=[ {}, {}, {}, {label:'2015',showLabels:'1',}, {}, {}, {}, {标签:'2017',展示标签:'1',} ] 常量hasValues=obj=>{ obj中的forvar键{ ifobj.hasOwnPropertykey返回true } 返回错误 } const filteredears=years.filtery=>hasValuesy logfilteredears另一种方法是用于构建数组

const yearray=[{},{},{},{标签:'2015',显示标签:'1',},{},{},{标签:'2017',显示标签:'1',}] const filteredfinalyearr=yearray.reduceo,i=>{Object.keysi.length>0&&o.pushi;return o},[] console.logfilteredfinalyearr另一种方法是用于构建阵列

const yearray=[{},{},{},{标签:'2015',显示标签:'1',},{},{},{标签:'2017',显示标签:'1',}] const filteredfinalyearr=yearray.reduceo,i=>{Object.keysi.length>0&&o.pushi;return o},[]
console.logfilteredfinalyearr-在这个线程中,您将获得关于如何检查空对象的完整摘要。-在本帖中,您将获得关于如何检查空对象的完整摘要。Firefox<4和IE<9上不支持object.key.length,箭头函数也不支持。OP正在使用react native。因此,他们将使用Traspiler或PolyFill来支持旧浏览器:@adiga哦,是的。谢谢你指出。我吃得对吗-Firefox<4和IE<9上不支持DObject.keysobj.length,箭头函数也不支持。OP正在使用react native。因此,他们将使用Traspiler或PolyFill来支持旧浏览器:@adiga哦,是的。谢谢你指出。我吃得对吗-D