Wenn ich ein Array von Arrays habe, die jeweils aus Objekteigenschaftsnamen (Strings) bestehen, wie kann ich ein Objekt rekursiv ändern, um zu prüfen, ob die Eigenschaft existiert oder nicht, und sie entsprechend hinzufügen. Der letzte Wert im Array wird als Zeichenfolgenwert der angegebenen Eigenschaft angewendet.Objekteigenschaften rekursiv hinzufügen
const propsToAdd = [
['propA', 'value'],
['propB', 'propC', 'propD', 'value'],
['propB', 'propF', 'value']
];
Das resultierende Objekt enthalten würde die relevanten Eigenschaften (verschachtelt entsprechend) und den Wert der letzten Eigenschaft würde in dem Array zu dem letzten Elemente gleich sein.
const resultingObj = {
propA: 'value',
propB: {
propC: {
propD: 'value'
}
propF: 'value'
}
};
Ich mag würde ein solches Objekt rekursiv erzeugen, wie die Anordnung von unbekannter Länge sein wird, ebenso wie die Subarrays.
Es ist wichtig zu beachten, dass die folgenden nicht auftreten auftreten und nicht berücksichtigt werden müssen.
const propsToAdd = [
['propA', 'value'],
['propA', 'value', 'value1']
];
sonst Stoßen, value
(als Kind propA
) können nicht beide eine Eigenschaft und ein Wert Name sein.
Wie kann ich eine rekursive Funktion schreiben, die Schlüssel/Wert-Paare zu einem Objekt hinzufügt (und nistet)?
ist es eine Grenze für die Tiefe der Liste von Pro Eigenschaften? – abigwonderful
Nein, gibt es nicht. – Himmel
Ist der Wert hier numerisch? oder String "Wert" @Himmel – Ayan