gpt4 book ai didi

javascript - 基于路径合并 JavaScript 对象的最短方法

转载 作者:行者123 更新时间:2023-12-01 02:02:59 24 4
gpt4 key购买 nike

有人知道我如何进一步压缩我的 mergePath 方法,该方法根据键/值路径合并两个对象上的键?我的下面的解决方案使用 Lodash。

let obj1 = { z: {fields: { a: "200", b: "2" }}}
let obj2 = { z: {fields: { a: "2", b: "20" }}}
let objsPath = "z.fields"

let mergePath = (objsPath, obj1, obj2) => (
_.set(obj1, objsPath, {..._.get(obj1, objsPath), ..._.get(obj2, objsPath)})
)

最佳答案

您可以使用_.merge()将路径从 obj2 复制到 obj2 。然后你可以返回 obj1 (我使用了 comma operator ):

const obj1 = { z: {fields: { a: "200", b: "2" }}}
const obj2 = { z: {fields: { a: "2", b: "20" }}}
const objsPath = "z.fields"

const mergePath = (objsPath, obj1, obj2) => (
_.merge(_.get(obj1, objsPath), _.get(obj2, objsPath)), obj1
)

console.log(mergePath(objsPath, obj1, obj2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>

关于javascript - 基于路径合并 JavaScript 对象的最短方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50398794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com