Ejemplos de recursividad, Recolectar strings de objetos anidados

Ejemplos de recursividad

Escriba una función llamada recolectarStringsDeObjetosAnidados la cual acepte un objeto y retorne un arreglo de todos los strings que existan en el objeto o dentro de otros objetos anidados.

function recolectarStringsDeObjetosAnidados(obj) {
    let o = [];

    for (let k in obj) {
        const v = obj[k];

        if (typeof v === "object" && !Array.isArray(v)) {
            o = o.concat(recolectarStringsDeObjetosAnidados(v));
            continue;
        }

        if (typeof v === "string") {
            o.push(v);
        }
    }

    return o;
}