No se puede procesar una matriz en la tabla después de unir y deshabilitar en Javascript

No estoy seguro de si estoy cometiendo algún error o es un comportamiento predeterminado. Estoy usando splice / unshift para agregar un nuevo elemento en la parte superior de una matriz 2d y luego intento representar esa matriz en una tabla.

  for (var i = 0; i < arr1[i].length; i++) {
      for (var j = 0; j < arr1.length; j++) {
          var r = arr1[j][i];
          dt(r);
      }
      dttop(i);
  }

  function dt(x) {
      if (isFinite(x) == true) {
          numeric++;
      } else {
          str++;
      }
  }

  function dttop(x) {
      if (numeric > str)
          arr1.splice(0, 0, "number");
      else
          arr1.splice(0, 0, "string");
  }
  alert(arr1); // alert--1  
   // render the result into html table
  s = '<table border=0>';
  for (var i = 0; i < arr1.length; i++) {
      s = s + '<tr>';
      for (var j = 0; j < arr1[i].length; j++) {
          s = s + '<td><font size="1" face="Verdana">' + arr1[i][j] + '</font></td>';
      }
      s = s + '</tr>';
  }
  s = s + '</table>';
  renderArea.innerHTML = s;

Entonces, cuando uso javascript splice () o unshift (). Me sale una salida como esta Pero, si hago la alerta 1, entonces me da un resultado como este lo que demuestra que está agregando los bits adicionales de la función de empalme pero no representando como html.

Por favor ayuda

Respuestas a la pregunta(2)

Su respuesta a la pregunta