Clonar matriz multidimensional en javascript

Quiero hacer un clon de matriz multidimensional para poder jugar con la matriz de clones sin afectar la matriz principal.

Estoy usando la siguiente función para hacerlo:
Array.prototype.clone = function () { 
   var newArray = new Array(this.length);
     for(var i=0; i < this.length; i++ ){
        newArray[i] = this[i];
   }
   return newArray;
};

Pero el problema se debe a que está utilizando un prototipo de matriz, por lo que clonará toda mi matriz. Entonces, ¿puede alguien decirme cuál es la mejor manera de hacerlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta