【发布时间】:2020-04-23 21:11:37
【问题描述】:
我正在尝试将以下数据结果创建为键/值对,我们如何使用 JS 拆分功能来实现该任务在这里几乎没有卡住。
main.js
const data = [{
"Row ID O ID O Date Ship Date Ship Type": "1 PA-152156 11/9/20 01/19/16"
}
]
function buildArray(data) {
for(item in arr) {
let string = item;
let array = string
.replace(/" "\s/g, '####')
.split(' ')
.map(pair => {
let split = pair.split('####');
return { key: split[0], value: split[1] };
});
}
}
console.log(buildArray(data));
预期输出
[{
"Row ID": 1,
"O ID": "PA-152156",
"O Date": "11/9/20",
"Ship Date": "01/19/16"
}]
tsv文件数据
Row ID O ID O Date Ship Date Ship Type Customer ID Customer Name Seg Country City State Zip Code Region Product ID Category Sub-Category Product Name Sales Quantity Discount Profit
1 PA-152156 11/9/20 01/19/16 Second Class CG-125 Clay bute Consumer United States Henderson Kentucky 42420 South FUR-BO-10001798 Furniture Bookcases Bush, Somerset Collection Bookcase? 261.96 2 0 41.9136
【问题讨论】:
-
每个列标题之间是否有一定数量的空格?如果是这样,您可以将其分开,但我最终这里的数据结构似乎真的很脆弱。数据不能以 CSV 格式输入吗?
-
@coloradocolby 我正在从 tsv 文件中读取数据,我在上面的示例中添加了
data来构建数组,现在询问是构建键值对
标签: javascript arrays regex split