【发布时间】:2020-01-17 04:49:05
【问题描述】:
var a = [{
id: 'Monday',
slots: [{
end: "05:00:00 PM",
start: "08:00:00 AM"
},
{
end: "04:00:00 PM",
start: "03:00:00 AM"
}
]
},
{
id: 'Tuesday',
slots: [{
end: "05:00:00 PM",
start: "08:00:00 AM"
}]
}
];
var b = [{
id: 'Monday',
slots: [{
end: "04:00:00 PM",
start: "06:00:00 AM"
},
{
end: "03:00:00 PM",
start: "02:00:00 AM"
}
]
},
{
id: 'Tuesday',
slots: [{
end: "05:00:00 PM",
start: "08:00:00 AM"
}]
},
{
id: 'Wednesday',
slots: [{
end: "05:00:00 PM",
start: "08:00:00 AM"
}]
}
];
我尝试了 JSON.stringify(a) === JSON.stringify(b) 但由于它是嵌套对象,因此无法正常工作。有没有办法比较嵌套对象数组的开始和结束?
id(key)s 在 a 和 b 中都是一样的,只有时间段和它的值会改变
【问题讨论】:
-
"我试过" ...数组不相等?
-
"
only timeslots and it's values will change":如果值不同,则数组不同。您可能想过滤掉slots,然后像这样比较(filteredArray1 == filteredArray2) -
鉴于您已经显示了输入,预期输出是什么以及为什么?
-
预期输出为真/假,如果相同或不同
-
那么您当前的代码是正确的,因为这两个对象是不同的。问题解决了。
标签: javascript jquery arrays multidimensional-array javascript-objects