JavaScript 二重配列
JavaScriptによるソースコード整形表示 - Shammerismでは、エスケープ文字を一つ一つ if 文で判定していたが、エスケープ文字をまとめて二重配列として定義。
<script type="text/javascript"> var escapeChars = [ [" "," "], ["<","<"], [">",">"], ["\"","""], ["&","&"] ]; var array = document.getElementById("sample-source").innerHTML.split("\n"); var lineLength = array.length; replaced = "<table border=\"0\">"; for( i = 0 ; i < lineLength ; i++ ){ replaced = replaced + "<tr><td>" + (i + 1) + "</td>"; if( i == 0 ) { replaced = replaced + "<td rowspan=\"" + lineLength + "\" "; replaced = replaced + "style=\"width: 1pm; height: 12px; "; replaced = replaced + "background-color:green;\"></td>"; } replaced = replaced + "<td>"; var charLength = array[i].length; jloop: for( j = 0 ; j < charLength ; j++ ){ var c = array[i].charAt(j); for( z = 0 ; z < escapeChars.length ; z++ ){ if( c == escapeChars[z][0] ){ replaced = replaced + escapeChars[z][1]; continue jloop; } } replaced = replaced + c; } replaced = replaced + "</td></tr>"; } replaced = replaced + "</table>"; document.getElementById("sample-source").innerHTML = replaced; </script>