DRYな備忘録

Don't Repeat Yourself.

GoogleChartAPIで「Uncaught Error: Type mismatch.」【GoogleChartAPI】【JavaScript】

【問題】

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