Escreva uma função que retorna uma cópia profunda de um determinado objeto.
A cópia não deve ser o mesmo objeto que foi fornecido.
Esta tarefa não testará para:
Objetos com propriedades que são funções Objetos de data ou objeto com propriedades que são Objetos de data RegEx ou objeto com propriedades que são objetos RegEx Cópia de protótipodeepcopy
deve ser uma função.
testString: 'assert(typeof deepcopy === "function", "deepcopy
should be a function.");'
- text: 'deepcopy({test: "test"})
deve retornar um objeto.'
testString: 'assert(typeof deepcopy(obj1) === "object", "deepcopy({test: "test"})
should return an object.");'
- text: Não deve retornar o mesmo objeto que foi fornecido.
testString: 'assert(deepcopy(obj2) != obj2, "Should not return the same object that was provided.");'
- text: 'Quando passado um objeto contendo uma matriz, deve retornar uma cópia profunda do objeto.'
testString: 'assert.deepEqual(deepcopy(obj2), obj2, "When passed an object containing an array, should return a deep copy of the object.");'
- text: 'Quando passado um objeto contendo outro objeto, deve retornar uma cópia profunda do objeto.'
testString: 'assert.deepEqual(deepcopy(obj3), obj3, "When passed an object containing another object, should return a deep copy of the object.");'
```