二次元配列とjoin

例えばこういう二次元配列に配列のjoin()メソッドを使いたいとする。

配列arr (3x4)
00010203
10111213
20212223


デフォルトの区切り(,)があってもよいときはarr.join()で問題ない。
返って来るのは、
00,01,02,03,10,11,12,13,20,21,22,23


問題は、例えば|で区切った文字列を返したいときにarr.join("|")を行うと、返って来る文字列は
00,01,02,03|10,11,12,13|20,21,22,23
行単位(もとの配列)にしか|の区切りが適用されていない。
(arr.lengthだとこの配列では12ではなく3が返って来るのと一緒)


とりあえず、for文でこうして↓

var arrNew = new Array(arr.length);
for (i=0; i<arr.length; i++)
    arrNew[i] = arr[i].join("|");

arrNew("|")したら、
00|01|02|03|10|11|12|13|20|21|22|23
という文字列が返って来たけど、もっと他にいい方法はあるのかな。


区切りを消したいときは、
var arrNew = new Array(arr.length);
for (i=0; i<arr.length; i++)
    arrNew[i] = arr[i].join("");

でarrNew("")をすれば、
000102031011121320212223
が返って来る。