我编写了一个脚本来接受csv文件,然后将csv文件转换为二维数组。我可以看到,我保存的对象实际上是一个数组使用:
console.log(Array.isArray(data));
返回true,我可以使用
看到它的内容console.table(data);
我现在试图将二维数组的内容显示为网页上的html表,这是我到目前为止所得到的:
function createTable(tableData) {
var table = document.createElement('table');
var row = {};
var cell = {};
tableData.forEach(function(rowData) {
row = table.insertRow(-1);
rowData.forEach(function(cellData) {
cell = row.insertCell();
cell.textContent = cellData;
});
});
document.body.appendChild(table);
}
与被称为
createTable(data);
我收到这个错误:
(index):69 Uncaught TypeError: rowData。forEach不是函数
您的代码运行良好,所以问题一定是与数据数组有关。而不是console.table(data),这样做:
console.log(data);
For let data = [[1,3,5], [4,8,12]];输出为:
Array [ (3) […], (3) […] ]
0: Array(3) [ 1, 3, 5 ]
1: Array(3) [ 4, 8, 12 ]
length: 2
<prototype>: Array []
如果你看到的是不同的,这应该引导你找出问题所在。
还是……把你的代码缩减到下面,看看你得到了什么:
tableData.forEach(function(rowData) {
console.log(rowData);
rowData.forEach(function(cellData) {
console.log(cellData);
});
});