在JavaScript中不使用jQuery将表转换为数组
我需要根据表中的内容将我创建的表网格转换为多维数组。数组的格式如下:在JavaScript中不使用jQuery将表转换为数组,javascript,html,arrays,Javascript,Html,Arrays,我需要根据表中的内容将我创建的表网格转换为多维数组。数组的格式如下: var array = [ [column,column,...], [column,column,...], ... ]; 在不使用jQuery、使用普通JavaScript的情况下,如何做到这一点?我找到的所有答案都在jQuery中 .您可以通过执行以下操作获得表中的所有tr(具有id表1) var t
var array = [
[column,column,...],
[column,column,...],
...
];
在不使用jQuery、使用普通JavaScript的情况下,如何做到这一点?我找到的所有答案都在jQuery中
.您可以通过执行以下操作获得
表中的所有tr
(具有id表1
)
var tableObj=document.getElementById(“表1”);
var-arr=[];
var allTRs=tableObj.getElementsByTagName(“tr”);
对于(var trCounter=0;trCounter
假设您的表类似于下面的表,您可以使用表的行集合和行的单元格集合将其转换为数组数组:
函数表阵列(表){
var结果=[]
var rows=table.rows;
var细胞,t;
//迭代行
for(var i=0,iLen=rows.length;i通过行和字段运行for循环:
var array = [];
var table = document.querySelector("table tbody");
var rows = table.children;
for (var i = 0; i < rows.length; i++) {
var fields = rows[i].children;
var rowArray = [];
for (var j = 0; j < fields.length; j++) {
rowArray.push(fields[j].innerHTML);
}
array.push(rowArray);
}
console.log(array);
var数组=[];
var table=document.querySelector(“表tbody”);
var行=table.children;
对于(变量i=0;i
带有qSA和数组的.prototype.map非常简单
var tableInfo = Array.prototype.map.call(document.querySelectorAll('#tableId tr'), function(tr){
return Array.prototype.map.call(tr.querySelectorAll('td'), function(td){
return td.innerHTML;
});
});
这可能不是很难,表格网格是什么样子的?它在上面的小提琴链接中。谢谢你,我会尝试让你知道的啊,是的,地图是自然的。我为什么选择reduce?;-)我经常这样做,总是想着reduce,然后我意识到…“哦…”
var tableInfo = Array.prototype.map.call(document.querySelectorAll('#tableId tr'), function(tr){
return Array.prototype.map.call(tr.querySelectorAll('td'), function(td){
return td.innerHTML;
});
});