Dividir una matriz de cadenas utilizando un separador

En JavaScript, ¿es posible dividir cada cadena en una matriz multidimensional de cadenas utilizando un separador? Estoy tratando de dividir una matriz multidimensional de cadenas usando un separador de cadena, pero todavía no sé cómo iterar sobre una matriz multidimensional sin usar múltiples for-loops.

var theArray = [["Split,each"],["string, in"],["this, array"]]; 

Que yo sepa, no es posible aplicar el método string.split(",") a una matriz multidimensional. Necesitaré encontrar una solución, ya que este código no es válido:

 alert([["Split,each"],["string, in"],["this","array"]].split(",")); 

Utilice el método de map matriz para devolver una versión modificada de su matriz:

 var newArray = theArray.map(function(v,i,a){ return v[0].split(","); }); 

La función que se pasa como argumento al método de map se utiliza para determinar los valores en la matriz asignada. Como puede ver, la función toma cada valor de la matriz, la divide por comas y devuelve la matriz resultante de dos cadenas.

La salida es entonces:

 [["Split", "each"],["string", "in"],["this", "array"]]; 

Para hacer que este trabajo sea recursivo para matrices de profundidad arbitraria, puede utilizar:

 var newArray = theArray.map(function mapper(v,i,a){ if(typeof v == "string"){ return v.split(","); } else { return v.map(mapper); } }); 

Puedes hacer esto usando un bucle for tradicional:

 var theArray = [["Split,each"],["string, in"],["this","array"]]; for(var i = 0; i 

Me mantendría alejado del uso del método del map , no tiene un gran soporte . (IE <9 no lo soporta)