Rud*_*udy 22 javascript arrays jquery
我有一个对象数组,当我进行字符串化时,它看起来像这样:
"[[{"entrReqInv": "Neither"},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]]"
Run Code Online (Sandbox Code Playgroud)
我怎样才能删除空{}s?
djf*_*dev 42
var newArray = array.filter(value => Object.keys(value).length !== 0);
Run Code Online (Sandbox Code Playgroud)
您可以使用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;
});
Run Code Online (Sandbox Code Playgroud)
小智 9
我建议使用以下代码:
var newArray = array.filter(value => JSON.stringify(value) !== '{}');
Run Code Online (Sandbox Code Playgroud)
我没有使用Object.keys(value).length !== 0因为它不仅删除空对象{ }还删除空数组[ ]。如果您只想删除空对象,请使用上述方法。