我的javascript函数有问题。 这个想法是用javascript读取文件的内容。一切正常,我可以看到文件的内容,刚才我想组织内容。
我对组织的意思是:
我的文件有很多字符串,例如:tel#01234567#tel tel#01456789#tel dept#level1#dept dept#level4 #dept .....
一切都是字符串,最后是我所看到的......
我的目标是,当我阅读文件时,最后它必须显示如下内容:
电话:01234567 01456789
部门:Level1 级别2
有办法有类似的东西吗?
function loaded(evt)
{
// Obtain the read file data
var fileString = evt.target.result;
document.getElementById('output').innerHTML = fileString;
}
答案 0 :(得分:1)
因此,基本上您的文件具有属性名称+#?
所包含的相应属性的属性和数据最简单的方法是将文件放在数据的通用格式中,e.q。 JSON。然后你可以使用JSON.parse();
获得的对象中的属性但是,如果您无法更改文件结构,则必须对将字符串拆分为所需部分的程序进行编程,并使用要处理的属性创建对象。
对于您提供的字符串,您可以执行一个string.split(“”)来获取每个属性,从而生成如下数组:
Array [ "tel#01234567#tel", "tel#01456789#tel", "dept#level1#dept", "dept#level4#dept" ]
之后你可以再次遍历数组和string.split(“#”)为每个元素提供这个:
array[0].split("#");
Array [ "tel", "01234567", "tel" ]
然后,您可以使用数组的第一个索引作为属性名称,将第二个索引用作其数据。您可以将其放入对象中,然后直接从属性引用数据:
var string = "tel#01234567#tel tel#01456789#tel dept#level1#dept dept#level4#dept";
var array = string.split(" ");
var dataObject = {};
for(var i in array){
var element = array[i].split("#");
if(dataObject.hasOwnProperty(element[0])){
dataObject[element[0]].push(element[1]);
}else{
dataObject[element[0]] = [element[1]];
}
}
最后,您有一个对象,该对象具有所有属性作为其属性,并且相应的数据存储在每个属性的数组中。有了这个,你应该能够正常工作吗? :)
答案 1 :(得分:-1)
当您阅读该文件时,您可以使用JS split来根据分隔符分隔内容。