在具有相同上下文的 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.

再补充一点。如果您想检查多个键,这 不会 起作用。但在你的情况下,这不适用。所以你可以继续。 :)