如何从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);