首页 > 解决方案 > 如何用 split() 为表拆分字符串

问题描述

如何在行和列中正确划分此字符串以生成表?

使用 split() 只能拆分一次

var text = "JOHN , MAILMAN , 10,59 | MARY , MAILMAN , 15,19 | RICK , SHOPPER , 1,57"

document.getElementById("tab").innerHTML =   "<table border='1px'><tr>              <th>Name</th><th>Work</th><th>Value</th></td><tr><td style='text-align:center'>" + text.split(" | ").join("</td><tr></tr><td style='text-align:center'>") + "</td></tr><table>"
      <div id="tab">

      </div>

标签: javascripthtml-tablesplit

解决方案


您需要内部拆分并为每个部分获取标签。

var text = "JOHN , MAILMAN , 10,59 | MARY , MAILMAN , 15,19 | RICK , SHOPPER , 1,57",
    style = ['text-align: center;', 'text-align: center;', 'text-align: right;']
    data = text
        .split(' | ')
        .map(row => row
            .split(' , ')
            .map((cell, i) => `<td style="${style[i]}">${cell}</td>`)
            .join('')
        )
        .map(row => `<tr>${row}</tr>`)
        .join('');

document.getElementById("tab").innerHTML = "<table border='1px'><tr><th>Name</th><th>Work</th><th>Value</th></td>" +data + "<table>";
<div id="tab">
</div>


推荐阅读