gpt4 book ai didi

javascript返回两个对象之间的差异

转载 作者:行者123 更新时间:2023-11-30 06:01:18 28 4
gpt4 key购买 nike

我有一个看起来像这样的对象:

var MyObject = {
prop1 = 12345,
prop2 = "string1",
ListOfOtherObject = an array of another type of object,
ListOfAnotherObject = an array of objects}

假设我有两个对象:Object1 和 Object2。 Object2 最初是 Object1 的深拷贝,并通过用户与 UI 的交互进行了修改。我希望了解这两个对象之间的区别,尤其是在数组方面。

例如,Object2 中的 ListOfOtherObject 可能包含某些对象的修改版本以及新对象。

我正在考虑循环遍历每个数组,然后循环遍历其中的每个对象,但可能有一些更有效的方法来做到这一点,尤其是使用 jquery。或者可能会使用 JSON.stringify 并比较字符串并返回某种字符串差异。我想知道是否有人对如何执行此操作有任何建议。

谢谢。

最佳答案

您需要指定您的比较需要做什么。例如,给定:

var o = {name: 'fred'};
var p = {name: 'fred'};
var a = {o:o};
var b = {o:o};

然后:

a == b;     // false, a and b are different objects
a.o == b.o; // true since a.o and b.o reference the same object

但是如果比较对象:

b.o = p;
a.o == b.o; // false since a.o and b.o reference different objects

或者如果比较原语:

a.o.name == b.o.name; // true since the value of both expressions is the string 'fred'
// even though a.o and b.o are different objects

类型或构造函数重要吗?关于:

b.o = [];
b.o.name = 'fred';

a.o.name == b.o.name; // true or false? a.o is an object, b.o is an array

关于javascript返回两个对象之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351109/

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