在具有相同上下文的 2 个对象上调用 JSON.stringify(obj) 是否总是得到相同的字符串?
Does calling JSON.stringify(obj) on 2 objects with same context always get the same string?
例如,我不关心 obj 的实际顺序,我只想知道具有相同上下文的对象是否具有与 stringify 相同的字符串结果。我的问题是,假设有 2 个不同的对象但具有相同的键和值:
function check(v1, v2) {
return JSON.stringify({
a: v1,
b: v2
}) == JSON.stringify({
a: 1,
b: 2
});
}
console.log(check(1, 2));
check(1,2)
总是 return true
吗?
由于您是对位置和值进行硬编码,因此这是可靠的。是的,无论如何,check(1,2)
总是 returns true
.
再补充一点。如果您想检查多个键,这 不会 起作用。但在你的情况下,这不适用。所以你可以继续。 :)
例如,我不关心 obj 的实际顺序,我只想知道具有相同上下文的对象是否具有与 stringify 相同的字符串结果。我的问题是,假设有 2 个不同的对象但具有相同的键和值:
function check(v1, v2) {
return JSON.stringify({
a: v1,
b: v2
}) == JSON.stringify({
a: 1,
b: 2
});
}
console.log(check(1, 2));
check(1,2)
总是 return true
吗?
由于您是对位置和值进行硬编码,因此这是可靠的。是的,无论如何,check(1,2)
总是 returns true
.
再补充一点。如果您想检查多个键,这 不会 起作用。但在你的情况下,这不适用。所以你可以继续。 :)