Remover objetos vazios da matriz
Eu tenho uma matriz JavaScript com objetos preenchidos e quero remover todos os objetos sem dados. Pode ser assim:
var myArray = [ {id: "28b", text:"Phill"},
{id: "12c", text:"Peter"},
{id: "43f", text:"Ashley"},
{id: "43f", text:"Ashley"},
{id: "", text:""},
{id: "9a", text:"James"},
{id: "", text:""},
{id: "28b", text:"Phill"}
];
Eu ja uso_.uniq
do underscore.js para remover todas as duplicatas da minha matriz, o que funciona bem. Embora eles sejam únicos, um Objeto vazio sempre é deixado quando eu preencho dados dinamicamente (porque existem conjuntos de dados vazios). Eu já tentei o_.without
função como mencionado aqui:Remover elementos vazios de uma matriz em Javascript mas não funciona. Aqui está a minha tentativa:
myArray = _.without(myArray, {id:"",text:""});
A matriz deve ficar assim:
[ {id: "28b", text:"Phill"},
{id: "12c", text:"Peter"},
{id: "43f", text:"Ashley"},
{id: "9a", text:"James"},
, ];
Também estou usando o jQuery se houver uma solução com esta biblioteca.