Удалить избыточные свойства из объекта JavaScript [дубликат]
Возможный дубликат:
Как удалить пустые свойства из объекта JavaScript с несколькими глубинами?
Я хотел бы удалить все пустые свойства (включая массивы пустых строк) из объекта.
{ "someString" : "some text", "someObject" : { "array" : [ "", "" ] } }
Например. Я хотел бы удалить всю ветку "someObject" из этого примера объекта.
Как я должен делать это с JavaScript?
Я могу написать функцию, которая рекурсивно перебирает каждое свойство и удаляет пустые, но в примере объекта над массивом, содержащим пустые строки, удалить не удастся.
Мне должно быть ясно, я ищу написать рекурсивную функцию, которая будет обрабатывать гораздо более сложные объекты, чем в примере. Несколько уровней строк, объектов и массивов в любой комбинации.
Проблема в том, что рекурсивная функция начинается сверху и проходит через объект вниз. Таким образом, пустая строка в конце очень длинной (и в противном случае избыточной) ветви будет удалена, но сама ветвь не будет.