Instruções

Cópia profunda

Escreva uma função que retorne uma cópia profunda de um objeto dado. A cópia não deve ser o mesmo objeto que foi dado. Esta tarefa não testará: <ul> <li>Objects with properties that are functions</li> <li>Date objects or object with properties that are Date objects</li> <li>RegEx or object with properties that are RegEx objects</li> <li>Prototype copying</li> </ul>

O que fazer:

Testes:

  • `deepcopy` deve ser uma função.
  • `deepcopy({test: "test"})` deve retornar um objeto.
  • `deepcopy` não deve retornar o mesmo objeto que foi fornecido.
  • Quando for passado um objeto contendo um array, `deepcopy` deve retornar uma cópia profunda do objeto.
  • Quando for passado um objeto contendo outro objeto, `deepcopy` deve retornar uma cópia profunda do objeto.

Console