我可以从 table 中的行和 Javascript 中的行创建一个数组并将其作为 Django 表单中的对象重用吗?
Can I create an array of arrays from a table and rows in Javascript and reuse that as an object in Django forms?
我想取一个 table 并将其转换为数组数组。换句话说,table 将是我的总体数组,每一行都是该数组中的一个数组。有没有办法用 table 文本来做到这一点?我也有兴趣确保字符串保留为字符串,但将整数转换为 int 类型。
我尝试了多种遍历 table 并打印到控制台的方法,但我还没有找到将行输出为 table 数组中的数组的方法, 字符串保留为字符串类型,整数被解析为 int 类型。
我说到这里了,但我不清楚如何使用 DOM 元素来做到这一点:
function displayConsole() {
console.log(myTableArray);
trName = document.querySelectorAll(".table tbody, tr");
console.log(trName);
var tr = document.getElementsByTagName("tr");
var td = document.getElementsByTagName('td');
var trArray = [];
tdLength = td.length;
for (i = 0; i < tdLength; i++) {
trArray.push( td[i].innerText );
}
console.log(trArray);
这是我的第一步,之后我也希望将数组的数组作为对象传递给 Django 表单,并在其他页面上重用它。
您需要嵌套循环来创建嵌套数组。每个级别都可以使用 map()
。
您可以使用正则表达式来判断table单元格是否为整数,然后调用parseInt()
进行转换。
function displayConsole() {
const trs = document.querySelectorAll(".table tbody tr");
var trArray = Array.from(trs).map(tr => Array.from(tr.cells).map(td => {
if (/^-?\d+$/.test(td.innerText)) {
return parseInt(td.innerText);
} else {
return td.innerText;
}
}));
console.log(trArray);
}
我想取一个 table 并将其转换为数组数组。换句话说,table 将是我的总体数组,每一行都是该数组中的一个数组。有没有办法用 table 文本来做到这一点?我也有兴趣确保字符串保留为字符串,但将整数转换为 int 类型。
我尝试了多种遍历 table 并打印到控制台的方法,但我还没有找到将行输出为 table 数组中的数组的方法, 字符串保留为字符串类型,整数被解析为 int 类型。
我说到这里了,但我不清楚如何使用 DOM 元素来做到这一点:
function displayConsole() {
console.log(myTableArray);
trName = document.querySelectorAll(".table tbody, tr");
console.log(trName);
var tr = document.getElementsByTagName("tr");
var td = document.getElementsByTagName('td');
var trArray = [];
tdLength = td.length;
for (i = 0; i < tdLength; i++) {
trArray.push( td[i].innerText );
}
console.log(trArray);
这是我的第一步,之后我也希望将数组的数组作为对象传递给 Django 表单,并在其他页面上重用它。
您需要嵌套循环来创建嵌套数组。每个级别都可以使用 map()
。
您可以使用正则表达式来判断table单元格是否为整数,然后调用parseInt()
进行转换。
function displayConsole() {
const trs = document.querySelectorAll(".table tbody tr");
var trArray = Array.from(trs).map(tr => Array.from(tr.cells).map(td => {
if (/^-?\d+$/.test(td.innerText)) {
return parseInt(td.innerText);
} else {
return td.innerText;
}
}));
console.log(trArray);
}