gpt4 book ai didi

javascript - 无法反转 Javascript 简单 Diff

转载 作者:行者123 更新时间:2023-11-28 17:44:03 26 4
gpt4 key购买 nike

我正在使用 _ 在 javascript 中进行简单的比较。我有两个相同的对象,直到有人更改文本字段,然后是旧对象和新对象。 (我试图创建一个审核日志来跟踪任何更改的字段)。

这是到目前为止我的代码。

var o1 = $scope.historicSite,
o2 = $scope.newsite;

var old_value = _.omit(o1, function(v, k) {
return o2[k] === v;
});

console.log("old value :", old_value);

这工作正常,例如,如果我只更改“站点名称”字段,我会返回

{site_name: "Old Value"}

来自函数。

我需要获取旧值(我在上面得到的)和新值,以便我可以存储它们,我尝试翻转 o1 和 o2 变量,但它只返回整个对象!有没有办法逆转这个问题,以便我可以获得新值和旧值?

谢谢

最佳答案

您可以从“diff”中获取键并根据新值创建一个对象:

类似于:

const new_values = Object.keys(old_value).reduce((accumulator, key) => {
accumulator[key] = o2[key];
return accumulator;
}, {})

关于javascript - 无法反转 Javascript 简单 Diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47212331/

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