Recursión: ¿Los objetos son iguales?
Crea una función que compruebe recursivamente si todos y cada uno de los elementos del primer objeto son similares a los del segundo objeto (es decir, tipo, valor, índice, clave, etc.); devuelve true si lo son y false en caso contrario.
Los objetos mencionados en este desafío son instancias de Array, Map u Object. El elemento de un objeto puede ser otro objeto dentro de otro objeto y así sucesivamente. Aunque este desafío puede parecer engañosamente fácil con JSON.stringify, la humilde intención del autor es que se aplique el concepto de recursión.
Ejemplos
isSimilar(["cars", "trains", ["roads", ["railways"]]], ["cars", "trains", ["roads", ["railways"]]]) ➞ true
isSimilar({"pairs": [[3, 5], [1, 7], [2, 6], [0, 8]]}, {"pairs": [[3, 5], [1, 1], [2, 6], [0, 8]]}) ➞ false
isSimilar({"Sam": 4, "Elliot": 4, "equality": true}, {"Sam": 4, "Elliot": 5, "equality": false}) ➞ false
isSimilar([{"D": [0, 3]}, {"X": [1, 3]}, {"D": [3, 7]}], [{"D": [0, 3]}, {"X": [1, 3]}, {"D": [3, 7]}]) ➞ trueNotas
- Puedes leer sobre más temas relacionados con la recursión (consulta la pestaña Recursos) si aún no estás familiarizado con ella o si todavía no comprendes por completo el concepto antes de intentar este desafío.
- Si te parece divertida la recursión, puedes encontrar una colección de esos desafíos aquí.