Удалить избыточные свойства из объекта JavaScript [дубликат]

Возможный дубликат:
Как удалить пустые свойства из объекта JavaScript с несколькими глубинами?

Я хотел бы удалить все пустые свойства (включая массивы пустых строк) из объекта.

{ "someString" : "some text", "someObject" : { "array" : [ "", "" ] } }

Например. Я хотел бы удалить всю ветку "someObject" из этого примера объекта.

Как я должен делать это с JavaScript?

Я могу написать функцию, которая рекурсивно перебирает каждое свойство и удаляет пустые, но в примере объекта над массивом, содержащим пустые строки, удалить не удастся.

Мне должно быть ясно, я ищу написать рекурсивную функцию, которая будет обрабатывать гораздо более сложные объекты, чем в примере. Несколько уровней строк, объектов и массивов в любой комбинации.

Проблема в том, что рекурсивная функция начинается сверху и проходит через объект вниз. Таким образом, пустая строка в конце очень длинной (и в противном случае избыточной) ветви будет удалена, но сама ветвь не будет.

Ответы на вопрос(3)

Ваш ответ на вопрос