Javascript 以字符串格式创建html表格&书信电报;表>&引用;基于字符串数组

Javascript 以字符串格式创建html表格&书信电报;表>&引用;基于字符串数组,javascript,arrays,Javascript,Arrays,我试图根据一些输入参数“header”创建一个表, body“header接收字符串“header1,header”及其值 由分隔,主体接收一个数组,该数组包含 以分隔的字符串,我尝试绘制主体值,但 水平显示 因此,我们必须在一个基础上制定一个计划 “封头,阀体”封头接收装置未连接字符串“封头1,封头”未连接阀门,阀体接收装置未连接 阿雷格洛斯-斯帕拉多斯波尔酒店 水平方向上的尸体 本文适用于无法操作dom“Oracle集成云”的环境。 函数convertStringToHtml(标题、正文)

我试图根据一些输入参数“header”创建一个表, body“header接收字符串“header1,header”及其值 由分隔,主体接收一个数组,该数组包含 以分隔的字符串,我尝试绘制主体值,但 水平显示

因此,我们必须在一个基础上制定一个计划 “封头,阀体”封头接收装置未连接字符串“封头1,封头”未连接阀门,阀体接收装置未连接 阿雷格洛斯-斯帕拉多斯波尔酒店 水平方向上的尸体

本文适用于无法操作dom“Oracle集成云”的环境。

函数convertStringToHtml(标题、正文){
var headersArr=headers.split(“,”);
var表=”;
var tableHeader=“”;
var tableBody=“”;
var bodyArr=[];
headersArr.forEach((headerTable)=>{
tableHeader=tableHeader+“”+headerTable+“”;
});
body.forEach((bodyTable)=>{
bodyTable.forEach((列表)=>{
bodyArr.push(列表拆分(“,”);
});
});
var最长=车身ARR.REDUCT(
(标题,正文)=>(headers.length>body.length?标题:正文),[]
);
bodyArr.forEach((bodyList,listKey)=>{
tableBody=tableBody+“”;
bodyList.forEach((列表,键)=>{
控制台日志(列表);
if(list.length!==longest.length-1){
log(“列表:”,列表,“键:”,键,“列表键:”,列表键);
tableBody=tableBody+“”+bodyArr[listKey][key]+“”;
}
});
tableBody=tableBody+“”;
});
桌子=
"" +
表头+
"" +
桌体+
"" +
"";
返回表;
}
var headerList=“页眉1、页眉2、页眉3”;
变量数据列表=[
[“TEST1,TEST1,TEST1”],
[“TEST2,TEST2,TEST2”],
[“TEST3,TEST3,TEST3”],
];

log(convertStringToHtml(headerList,dataList))
正如@Taplar所说,你应该包括一个最小的可复制示例,并遵循网站的最佳实践

这就是说,一般来说,一旦你有了一个包含一些HTML的字符串,你就可以在你的页面中插入它,而要做到这一点,你需要一个DOM节点


创建容器或确定要将元素放入其中的容器后,可以通过选择它并使用其
innerHTML
属性来实现

let rootElement=document.querySelector(“#root”)
document.innerHTML=“Header 1Header 2Header 3test1test1test2test2test2test3test3”
您可以找到有关此属性的详细信息。

var headerList=“头1、头2、头3”;
变量数据列表=[
[“测试11、测试12、测试13”],
[“TEST21、TEST22、TEST23”],
[“TEST31、TEST32、TEST33”],
];
var表格HTML=
“\n”+
“\n”+
“\n”+
headerList.split(“,”).map(header=>“+header+”\n”).join(“”)+
“\n”+
“\n”+
“\n”+
dataList.map(行=>“\n”+
行[0]。拆分(“”,“”)。映射(单元格=>“”+cell+“\n”)。加入(“”)+
“\n”)。加入(“”)+
“\n”+
"";
document.body.innerHTML+=tableHTML;
log(tableHTML)
解决方案:

函数convertStringToHtml(标题、正文){
var headersArr=headers.split(“,”);
var表=”;
var tableHeader=“”;
var tableBody=“”;
var bodyArr=[];
//顺序数组数据
var orderArr=[];
var responseArr=[];
const lengthBodyElementArr=body[0][0]。拆分(“,”)。长度;
//创建标题表
headersArr.forEach((headerTable)=>{
tableHeader=tableHeader+“”+headerTable+“”;
});
//顺序数组
对于(var increment=0;increment{
bodyElement.forEach((internalBodyElement)=>{
bodyArr=internalBodyElement.split(“,”);
bodyArr.forEach((元素,键)=>{
如果(键==增量){
订单推送(元素);
}
});
});
});
响应推送(orderArr);
}
//创建实体表
responseArr.forEach((bodyList)=>{
tableBody=tableBody+“”;
bodyList.forEach((元素)=>{
tableBody=tableBody+“”+元素+“”;
});
tableBody=tableBody+“”;
});
桌子=
"" +
表头+
"" +
桌体+
"" +
"";
返回表;
}

不要指望我们去代码栏查看您的代码,在现场制作。好的,我会修改出版物,如果它已经开始工作了,问题是什么?看起来像是家庭作业。请展示您已经做过/尝试过的。您可能会更乐意提出此问题并回复上的评论。堆栈溢出(此站点)仅英文版。我刚刚更新了帖子,很抱歉给您带来不便。您的评论是正确的,可以将html元素附加到dom,但在这种情况下,我必须将它们应用到另一个环境oracle integration cloud,在这个环境中,我无法操作dom。如果您在原始问题中没有使用它,我们怎么知道呢?你说的“操纵”是什么意思?你的意思是你不能创造新元素,或者你甚至不能与它们互动?如果答案是第一个,那么找到一个已经存在的元素并将表附加到它,如果答案是第二个,那么我想你没什么可以做的。你是对的,我为写错这篇文章道歉。如果它是一个无法修改dom或与dom交互的环境,我只能创建一个带有待绘制标签的字符串Stack Overflow鼓励回答代码解释,而不仅仅是一堆代码。请看:“简洁是可以接受的,但更全面的解释更好。”@HereticMonke
function convertStringToHtml(headers, body) {
      var headersArr = headers.split(",");
      var table = "<table>";
      var tableHeader = "<thead><tr>";
      var tableBody = "<tbody>";
      var bodyArr = [];
      // Order Array Data
      var orderArr = [];
      var responseArr = [];
      const lengthBodyElementArr = body[0][0].split(",").length;
    
      // Create Header Table
      headersArr.forEach((headerTable) => {
        tableHeader = tableHeader + "<th>" + headerTable + "</th>";
      });
    
      // Order Array
      for (var increment = 0; increment < lengthBodyElementArr; increment++) {
        orderArr = [];
        body.forEach((bodyElement) => {
          bodyElement.forEach((internalBodyElement) => {
            bodyArr = internalBodyElement.split(",");
            bodyArr.forEach((element, key) => {
              if (key == increment) {
                orderArr.push(element);
              }
            });
          });
        });
        responseArr.push(orderArr);
      }
    
      // Create Body Table
      responseArr.forEach((bodyList) => {
        tableBody = tableBody + "<tr>";
    
        bodyList.forEach((element) => {
          tableBody = tableBody + "<td>" + element + "</td>";
        });
    
        tableBody = tableBody + "</tr>";
      });
    
      table =
        "<table>" +
        tableHeader +
        "</tr></thead>" +
        tableBody +
        "</tbody>" +
        "</table>";
      return table;
    }