Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组格式问题_Javascript_Jquery_Google Visualization - Fatal编程技术网

Javascript 数组格式问题

Javascript 数组格式问题,javascript,jquery,google-visualization,Javascript,Jquery,Google Visualization,我有以下内容(存储在变量matrixData中): 我需要将其更改为可以通过Google Charts的以下功能传递的内容: function drawChart() { var data = google.visualization.arrayToDataTable([]); } 然后,我将在以下模板中传递该数据: <script type="text/html" id="tableContent"> <tr> <td dat

我有以下内容(存储在变量
matrixData
中):

我需要将其更改为可以通过Google Charts的以下功能传递的内容:

function drawChart() {
    var data = google.visualization.arrayToDataTable([]);
}
然后,我将在以下模板中传递该数据:

<script type="text/html" id="tableContent">
      <tr>
        <td data-content="Date"></td>
        <td data-content="BookingCount0"></td>
        <td data-content="BookingCount1"></td>
        <td data-content="BookingCount2"></td>
        <td data-content="BookingCount3"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="BookingCount"></td>
        <td data-content="Total"></td>
      </tr>
</script> 

这将是一份每周报告,因此模板将重复7次

我正在尝试使用以下功能,但没有成功:

function generateObject(){

    var newarray = [],
        thing;

    for(var y = 1; y < matrixData.Data.length; y++){
        thing = {};
        for(var i = 0; i < matrixData.Data[0].length; i++){
            if (i > 0) {
              thing[matrixData.Data[0][i]] = matrixData.Data[y][i];
            }
        }
        newarray.push(thing);
    }

    return newarray;
}
函数生成对象(){
var newarray=[],
事情
对于(变量y=1;y0){
thing[matrixData.Data[0][i]=matrixData.Data[y][i];
}
}
推(东西);
}
返回新数组;
}

可能是因为函数是
arrayToDataTable
而不是
arrayWithObjectsToDataTable
。 各国:

此方法不支持[…]使用具有f或v值的JavaScript文本单元格对象:{v:3.0,f:'Three'}。如果需要指定自定义单元格值、格式化值或日期/日期时间值,请使用DataTable.addRow()/DataTable.addRows()或DataTable.setValue()

因此,解决方案是要么使用
DataTable.addRow()
要么将
thing
更改为一个数组,并将值推入其中。 对于对象的键值对中的
,文档中说:

如果opt_firstrowsdata为false(默认值),则第一行将被解释为标题标签


因此,只需将头作为第一个数组推入即可。

matrixData.Data[y]
?必须包含所需的输出数据模型。将带有嵌套循环的函数与“不成功”一起发布是不够的。
function generateObject(){

    var newarray = [],
        thing;

    for(var y = 1; y < matrixData.Data.length; y++){
        thing = {};
        for(var i = 0; i < matrixData.Data[0].length; i++){
            if (i > 0) {
              thing[matrixData.Data[0][i]] = matrixData.Data[y][i];
            }
        }
        newarray.push(thing);
    }

    return newarray;
}