Удалить объект из массива объекта, если все свойство объекта пусто - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть массив объектов, где у каждого объекта есть определенные свойства. Я хочу удалить те объекты из массива, для которых назначены пустые строки для всех свойств объекта.

Пример:

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

Результат должен быть

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

1 Ответ

0 голосов
/ 04 ноября 2018

Вы можете использовать комбинацию filter, every и Object.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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...