如何从JS中的数组中删除空对象

我有一个对象数组,当我进行字符串化时,它看起来像这样:

"[[{"entrReqInv": "Neither"},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]]" 

如何删除空{}

 var newArray = array.filter(value => Object.keys(value).length !== 0); 

您可以使用Array.prototype.filter在字符串化之前删除空对象。

 JSON.stringify(array.filter(function(el) { // keep element if it's not an object, or if it's a non-empty object return typeof el != "object" || Array.isArray(el) || Object.keys(el).length > 0; }); 

这是我要做的,因为渐进增强的原因:

 var aryAry = [[{prop: 'value'},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]]; var a = aryAry[0], r = []; for(var i=0,l=a.length; i 0){ r.push(o); } } console.log(r);