NEWS
Alle Root-Elemente eines Objektbaumes auslesen
-
Ich stehe gerade auf dem Schlauch.
Wie bekomme ich aus "esphome.0" alle Root-Ordner?
mit$('esphome.0.*').each((id, i)
kann ich natürlich filtern, aber es muss doch auch irgendwie einfacher gehen.
Als Ergebnis möchte ich also
esphome.0.083A8DB95698, esphome.0.0CB815C23E4C etc. (also alle ESPHome Devices) und nicht sämtliche States.
Dummerweise ist "esphome.0" kein Objekt. -
let rootFolders = []; $('esphome.0.*').each((id, i) => { const rootId = id.split('.').slice(0, 3).join('.'); rootFolders.push(rootId); }); console.log(rootFolders);
-
@mcu
Danke erstmal, da muss aber auf jeden Fall noch rein, dass nicht jeder Rootfolder 100 mal erscheint (für jeden State).let rootFolders = []; $('esphome.0.*').each((id, i) => { const rootId = id.split('.').slice(0, 3).join('.'); if (!rootFolders.includes(rootId)){ rootFolders.push(rootId); } }); console.log(rootFolders);
Wie performant das bei großen Objektbäumen ist weiss ich nicht. Ich denke aber dass es da noch elegantere Wege geben müsste.