Согласно документация MDN для JSON.stringify:
Свойства объектов без массива не гарантируются. в любом конкретном порядке. Не полагайтесь на упорядочение свойств внутри тот же объект в строковом выражении.
Я надеялся определить, изменился ли объект путем кэширования строковой версии объекта, а затем сравнил его с последующей строкой версии объекта. Это казалось намного проще, чем рекурсивно итерации через объект и выполнения сравнений. Проблема в том, что поскольку функция JSON.stringify не является детерминированной, я могу технически получить другую строку, когда я строю один и тот же объект.
Какие еще варианты у меня есть? Или мне нужно написать неприятную функцию сравнения для определения равенства объекта?