简体   繁体   English

如果对象的所有属性都为空,则从对象数组中删除对象

[英]Remove object from array of object if all the property of an object is empty

I have an array of objects, where each object has certain properties.我有一个对象数组,其中每个对象都有某些属性。 I want to remove those objects from the array which have empty strings assigned for all properties within the object.我想从数组中删除那些为对象内的所有属性分配了空字符串的对象。

Example :例子 :

var x = [{
   "userName" : "XYZ",
   "age": 22,
   "gender": "M"
}, {
   "userName" : "ABC",
   "age": 23,
   "gender": "M"
}, {
   "userName" : "Mohan",
   "age":"",
   "gender": ""
}, {
   "userName" : "",
   "age":"",
   "gender": ""
}]

Result should be结果应该是

[{
   "userName" : "XYZ",
   "age": 22,
   "gender": "M"
}, {
   "userName" : "ABC",
   "age": 23,
   "gender": "M"
}, {
   "userName" : "Mohan",
   "age":"",
   "gender": ""
}]

You can use a combination of filter , every and Object.values :您可以使用filtereveryObject.values的组合:

 const x = [{ "userName" : "XYZ", "age": 22, "gender": "M" }, { "userName" : "ABC", "age": 23, "gender": "M" }, { "userName" : "Mohan", "age":"", "gender": "" }, { "userName" : "", "age":"", "gender": "" }] const y = x.filter(z => !Object.values(z).every(w => w ==="")) console.log(y)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM