1
目前Ramda如果我想合并深(右)的多个对象我....Ramda:mergeDeepRight + mergeAll(......也许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 } }
如果我使用_.mergeAll
(即_.mergeAll(a, b, c)
)它返回{ one:1, two: { three:3 } }
为_.mergeAll
不深
是否有更深入的合并(右)多个对象的方式?喜欢的东西...
_.mergeDeepRightAll(a, b, c)
关于输出顺序:对象属性顺序仅保证ES 2015+。无论如何,OP应该谨慎依赖它。 –
请注意,键顺序的改变主要是由于某种输出格式(比如说'console.log'或'JSON.stringify')。是的,在es6之前没有任何保证,但引擎长期以来基本一致。所以'keys(mergeDeepAll([a,b,c])); // => [“one”,“two”,“three”,“four”]'。 –