Matriz de copia profunda de objetos anidados en javascript [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la forma más eficiente de clonar en profundidad un objeto en JavaScript? 67 respuestas

Estoy tratando de copiar en profundidad una matriz de objetos anidados en javascript. Mi matriz se ve así

var arr = [{name:"adam",age:"21"},
    {name:"freddie",age:"35",children:[{name:"mercury",age:"25"}]},
    {name:"jim",age:"35",children:[{name:"morrison",age:"25",children:[{name:"some", age:"40"}]}]}
    ];

Quiero hacer una copia profunda de cada objeto dentro de la matriz, es decir, quiero crear una copia exacta de arr en una nueva matriz que no debería tener referencia de objeto. La profundidad de la matriz también se desconoce, es decir, la matriz secundaria puede estar a cualquier nivel. He pasado por este enlaceCopia de una matriz de objetos a otra matriz sin referencia de objeto en javascript (copia profunda) Pero eso no me ayudó. Busqué en Google y encontré algunas soluciones en jQuery, pero eso no me ayudó, ya que no tengo conocimiento de jQuery.

También intenté implementarlo con recursividad pero eso tampoco funcionahttp://ideone.com/kJi5X3

Quiero hacerlo en javascript solo sin usar jQuery ni nada. Soy nuevo en JavaScript, por lo que podría haber perdido si hay alguna biblioteca o método simple para hacer esto. Por favor ayúdame a resolver este problema. Gracias por adelantado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta