[英]How to arrange nested array of object data for react table component display
[英]how should we convert string data into array and display into react table
我已導入 CSV 數據並轉換為以下stringData
。 現在我必須在 React 表中顯示這個stringData
。 我嘗試使用 map function 將標題和 map 分隔到<th>
但是當我嘗試將值顯示到<tr>
時,它正在將每一行視為一個值。 請讓我知道是否有其他方法可以做到這一點。 謝謝
const stringData = "BRANCH,ITEMNUM,UNITCOST,COSTMETHOD
34,130156,86.25,51
34,220134,75.8425,51
34,190365,53.5325,51
34,200350,18.4,51"
假設您的結果字符串包含用於指示不同行的換行符,則此解決方案應該有效:
const stringData = `BRANCH,ITEMNUM,UNITCOST,COSTMETHOD
34,130156,86.25,51
34,220134,75.8425,51
34,190365,53.5325,51
34,200350,18.4,51`;
const rows = stringData.split('\n');
let cols = rows.splice(0, 1)[0];
cols = cols.split(',');
const result = rows.map((row) => {
const vals = row.split(',');
return vals.reduce((res, val, idx) => {
const prop = cols[idx];
res[prop] = val;
return res;
}, {});
});
console.log(result);
這是一個有效的 JSFiddle: https://jsfiddle.net/hannahska/y4rq13h8/8/
const stringData = `BRANCH,ITEMNUM,UNITCOST,COSTMETHOD 34,130156,86.25,51 34,220134,75.8425,51 34,190365,53.5325,51 34,200350,18.4,51`; let lines = stringData.split("\n"); let header = lines[0].split(","); let body = lines.filter((item) => item.== header).map(item => item,split(";")). console,log({header; body});
解釋:
\n
是換行符,我們用它作為分隔符,表示一行的結束和下一行的開始,
作為分隔符將每一行分成項目您只需要拆分兩次,第一次您必須按space
進行,然后您必須將其拆分,
然后你可以建立你的桌子
const stringData = "BRANCH,ITEMNUM,UNITCOST,COSTMETHOD 34,130156,86.25,51 34,220134,75.8425,51 34,190365,53.5325,51 34,200350,18.4,51" var res = stringData.split(" "); var test = document.getElementById("test"); res.map((items) => { let row = items.split(","); var trBlock = document.createElement("tr") row.map((item) => { trBlock.innerHTML += ` <td>${item}</td> ` test.appendChild(trBlock) }) })
table, th, td { border: 1px solid black; }
<table id="test"></table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.