我正在尝试制作一个HTML表格来出售商店的材料。每种材料的数据都存储在一个文本文件中。我正在尝试将文本文件转换为哈希表,以便可以调用特定材料的数据的每个部分以在HTML中创建表。我无法找到一种仅使用javascript和html的好方法。
我已经尝试过使用p5js库导入文本,但是后来我不知道如何分割文本并为每种材料调用索引。
这是文本文件的一行: 21; rondelles de 3/4“”; 6.95; 3.48; C7; 8; mc
答案 0 :(得分:1)
要能够正确解析文本文件,您必须遵守一些规则。
假设您有一个这样的文本文件:
21; rondelles de 3/4 \“ \”; 6.95; 3.48; C7; 8; mc \ n
12; rondelles de 3/4 \“ \”; 4.95; 1.48; A7; 4; mc
(您已成功加载并分配给字符串)
然后您可以执行以下操作:
var textFile = "21;rondelles de 3/4\"\";6.95;3.48;C7;8;mc\n12;rondelles de 3/4\"\";4.95;1.48;A7;4;mc";
var temp = textFile.split("\n");
var data = new Array();
for (var a = 0; a < temp.length; a++) {
data[a] = new Array();
data[a] = temp[a].split(";");
}
console.log(data);
答案 1 :(得分:0)
如果您的要求允许,请使用JSON。
您存储的数据看起来像这样:
{
"21": [
"rondelles de 3/4\"\"",
"6.95",
"3.48",
"C7",
"8",
"mc"
],
"12": [
"rondelles de 3/4\"\"",
"4.95",
"1.48",
"A7",
"4",
"mc"
]
}
假设21
和12
是您的材料ID。
使用JSON,您还可以轻松地为数据使用键而不是数组索引
{
"21": [
"description": "rondelles de 3/4\"\"",
"outerDiameter": "6.95",
"innerDiameter": "3.48",
"type": "C7",
"size": "8",
"standard": "mc"
],
"12": [
"description": "rondelles de 3/4\"\"",
"outerDiameter": "4.95",
"innerDiameter": "1.48",
"type": "A7",
"size": "4",
"standard": "mc"
]
}
(我假定了一些属性键,但是您可以使用任何喜欢的键)
要解析代码,您只需使用
var materials = JSON.parse(data)
,然后按其ID来访问材料:
var mat12 = materials[12]
将地图转换为文本很简单:
JSON.stringify([...map])
或者,如果您只使用常规的JS对象而不是Maps,那么它将变得更加容易:
JSON.stringify(obj)