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;
}