2016-06-13 6 views

Antwort

1

Die Eltern-Kind-Beziehung von Google Mail-Labels basiert auf ihren Namen: Wenn Sie ein Label "foo/bar" haben und es auch ein Label namens "foo" gibt, gilt das erste als Kind des Letzteren. (Ich habe das gerade getestet, indem ich manuell "foo/bar" label und dann "foo" erstellt habe; sobald "foo" angezeigt wurde, hat es "bar" als Kind erhalten.)

Also gibt die folgende Funktion das zurück Liste aller Labels, die Kinder des angegebenen Labels sind. (Das Argument parent hier ist ein Etikett selbst, nicht sein Name).

function children(parent) { 
    var name = parent.getName() + '/'; 
    return GmailApp.getUserLabels().filter(function(label) { 
    return label.getName().slice(0, name.length) == name; 
    }); 
} 
+0

Dankeschön !! Nun, um die "Enkel" zu bekommen, verwende ich die Schleife erneut auf den Kinderlabels? –

+0

Ja, Sie können den Vorgang wiederholen; zum Beispiel durch erneutes Aufrufen derselben Funktion. So etwas wie 'children ('foo'). Map (Kinder) .reduce (Funktion (a, b) {return a.concat (b);});' –

+0

thankz !! Ich werde es später versuchen –