Derzeit in Ramda, wenn ich tief merge wollen (rechts) mehrere Objekte I ....Ramda: mergeDeepRight + mergeall (... vielleicht mergeDeepRightAll)
var a = _.mergeDeepRight({ one: 1 }, { two: { three: 3 } })
var b = _.mergeDeepRight(a, { three: { four: 4 } })
var c = _.mergeDeepRight(b, { four: { five: 5 } })
// c === { one:1, two: { three: 3 }, three: { four: 4 }, four: { five: 5 } }
Wenn ich _.mergeAll
(dh _.mergeAll(a, b, c)
) es gibt { one:1, two: { three:3 } }
als _.mergeAll
ist nicht tief
Gibt es eine ordentlichere Möglichkeit der tiefen Zusammenführung (rechts) mehrerer Objekte? So etwas wie ...
_.mergeDeepRightAll(a, b, c)
Über die Reihenfolge der Ausgabe: Objekt-Eigenschaft Reihenfolge ist nur garantiert ES 2015+. OP sollte vorsichtig sein, sich darauf zu verlassen. –
Beachten Sie, dass die Änderung der Schlüsselreihenfolge hauptsächlich auf ein bestimmtes Ausgabeformat zurückzuführen ist (sagen wir 'console.log' oder' JSON.stringify'). Ja, es gab keine Garantien vor es6, aber die Engines waren lange Zeit weitgehend konsistent. Also 'Schlüssel (mergeDeepAll ([a, b, c])); // => ["eins", "zwei", "drei", "vier"]]. –