У меня есть JavaScript-массив с заполненными объектами и вы хотите удалить каждый объект без данных. Это может выглядеть следующим образом:Удалить пустые объекты из массива
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"}
];
Я уже использую _.uniq
из underscore.js удалить все дубликаты из моего массива, который работает отлично. Хотя они уникальны, один пустой объект всегда остается, когда я динамически заполняю данные (потому что есть пустые наборы данных). Я уже пробовал функцию _.without
, как указано здесь: Remove empty elements from an array in Javascript, но это не работает. Вот моя попытка:
myArray = _.without(myArray, {id:"",text:""});
Массив должен выглядеть следующим образом:
[ {id: "28b", text:"Phill"},
{id: "12c", text:"Peter"},
{id: "43f", text:"Ashley"},
{id: "9a", text:"James"},
];
Я также использую JQuery, если есть решение с этой библиотекой.
что значит * пусто *? добавьте еще несколько данных и что нужно удалить. –
'{id:" ", текст:" "}' не пустой объект. Если вы хотите удалить это событие, отфильтруйте его. И я догадываюсь, наконец, что вы хотите удалить любой объект, у которого нет 'id', указанного –