10.01.2022, 23:20
Hi folks.
Zunächst einmal, ich habe früher sehr viel JS entwickelt, aber das liegt bereits viele Jahre zurück und inzwischen habe ich mehrere Jahre ausschließlich nur noch C# programmiert und bin ein wenig aus der Übung.
Ich suche nach einer object-collection also quasi "[{}]", allerdings mit ".get()" und ".set()" oder ein parent-object "{}" mit dynamischen children-objects via ".add('memberName', {})" bzw. ".remove('memberName')". Kurz gesagt, ich möchte in der Lage sein, das Array filtern zu können.
Also dachte ich zunächst an ein Dictionary (const data = new Map()), was via "data.set('niceNerdGirl', { name: "Sophia", age: 17 })" auch noch eine Notlösung sein könnte, aber ein direkter Zugriff auf die Objekte wäre besser, als "data.get('niceNerdGirl').name".
Am Besten wäre natürlich ein echtes nested-object.
Offensichtlich lässt sich das allerdings nicht realisieren.
Aber vielleicht gibt es ja etwas ähnliches. Vielleicht mit einer Masterklasse und irgendwelchen Hilfsmethoden?
Ich könnte mir eine solche Datensammlung bspw. für MVVMs vorstellen oder so.
Alternativ könnte ich es natürlich wie bereits erwähnt auch als simple object-collection "[{}]" lösen, dann wären auch gleich ".push({})" bzw. ".splice(index, 1)" vorhanden, allerdings bräuchte ich dann für jedes child-object eine id. Und ich vermute, dass die Suche/Filterung nach einem child-object via child-object-member/value nicht so einfach geht, wie mit C#.LINQ.
Gehen wir mal von einem klassischen MVVM-Objekt aus, das, bzw. dessen member-values ich später via eines Observers in beide Richtungen aktualisieren möchte.
Welche Datenstruktur schlagt ihr mir hier vor?
Zunächst einmal, ich habe früher sehr viel JS entwickelt, aber das liegt bereits viele Jahre zurück und inzwischen habe ich mehrere Jahre ausschließlich nur noch C# programmiert und bin ein wenig aus der Übung.
Ich suche nach einer object-collection also quasi "[{}]", allerdings mit ".get()" und ".set()" oder ein parent-object "{}" mit dynamischen children-objects via ".add('memberName', {})" bzw. ".remove('memberName')". Kurz gesagt, ich möchte in der Lage sein, das Array filtern zu können.
Also dachte ich zunächst an ein Dictionary (const data = new Map()), was via "data.set('niceNerdGirl', { name: "Sophia", age: 17 })" auch noch eine Notlösung sein könnte, aber ein direkter Zugriff auf die Objekte wäre besser, als "data.get('niceNerdGirl').name".
Am Besten wäre natürlich ein echtes nested-object.
Code:
const data = {};
data.add({ niceNerdGirl: { name: "Sophia", age: 17 }});
//und dann den Abruf quasi so:
console.log(data.niceNerdGirl.name);
Offensichtlich lässt sich das allerdings nicht realisieren.
Aber vielleicht gibt es ja etwas ähnliches. Vielleicht mit einer Masterklasse und irgendwelchen Hilfsmethoden?
Ich könnte mir eine solche Datensammlung bspw. für MVVMs vorstellen oder so.
Alternativ könnte ich es natürlich wie bereits erwähnt auch als simple object-collection "[{}]" lösen, dann wären auch gleich ".push({})" bzw. ".splice(index, 1)" vorhanden, allerdings bräuchte ich dann für jedes child-object eine id. Und ich vermute, dass die Suche/Filterung nach einem child-object via child-object-member/value nicht so einfach geht, wie mit C#.LINQ.
Gehen wir mal von einem klassischen MVVM-Objekt aus, das, bzw. dessen member-values ich später via eines Observers in beide Richtungen aktualisieren möchte.
Welche Datenstruktur schlagt ihr mir hier vor?
___
auf bald, ...
***der Frosch (nap-star)
auf bald, ...
***der Frosch (nap-star)