【問題】
GoogleChartAPIを使用するときに、ブラウザコンソールに以下のエラーが出た。
Uncaught Error: Type mismatch. Value 200 does not match type string in column index 0
【原因】
function drawTable(params) { var tableField = document.getElementById('table-field'); tableField.innerHTML = ""; var sumup = 0; for (var i=0; i<params.length; i++) { sumup += parseInt(params[i][0]); } var dataArray = 'HOGEEE','RATE','Total' + sumup; for (var i=0; i<params.length; i++) { dataArray.push([ String(params[i][1]), parseInt(100*parseInt(params[i][0])/sumup), params[i][0] ]); } var data = new google.visualization.arrayToDataTable(dataArray); var chart = new google.visualization.Table(tableField); chart.draw(data, {width: 500, height: 300}); }
のdataArray.push([...., params[i][0]]);
【解決】
Type mismatchということで、
for (var i=0; i<params.length; i++) { dataArray.push([ String(params[i][1]), parseInt(100*parseInt(params[i][0])/sumup), parseInt(params[i][0]) ]); }
とした
【雑感】
こういう些細なエラーをたくさん蓄積して、エラー勘がよくなっていいくような予感。 DRY