Tengo dos objetos con múltiples propiedades y con múltiples capas. En diferentes capas, podría tener algunas matrices. Quiero poder comparar los dos objetos, sin tener en cuenta el orden de los elementos en cada matriz.
Ejemplo 1: object1 y object2 deben ser "iguales"
object1 = { person: "John", children: [ { person: "Anne" }, { person: "Mark" } ] }; object2 = { person: "John", children: [ { person: "Mark" }, { person: "Anne" } ] }; // This would have to return true: expect(object1).to."fundamentally".equal(object2);Ejemplo 2: un poco más complicado, el objeto 1 y el objeto 2 deberían seguir siendo los mismos
object1 = { person: "John", children: [ { person: "Anne" }, { person: "Mark", pets: [ { species: "cat", name: "Purr" }, { type: "labrador", name: "Woofy", age: 3 } ] } ], cars: [ { brand: "BMW", year: 2017 }, { brand: "Mercedes-Benz", year: 2020 } ] }; object2 = { person: "John", children: [ { person: "Mark", pets: [ { type: "labrador", name: "Woofy", age: 3 }, { species: "cat", name: "Purr" } ] }, { person: "Anne" } ], cars: [ { brand: "Mercedes-Benz", year: 2020 }, { brand: "BMW", year: 2017 } ] }; // This would have to return true: expect(object1).to."fundamentally".equal(object2);Aunque los niños, los autos y las mascotas están en diferente orden, todavía quiero reconocer que ambos objetos tienen el mismo contenido.
¿Hay una función que haría esto?