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. -
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); -
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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden