最近在搞一些关于度量方面的动作,需要将度量结果写入到对象数组中。因为数据量比较大,手动去搬运实在是太麻烦了,所以决定借助于JS实现这一任务。
在进行这个工作前,我也查了一些相关的内容。确实,在应用场景中是不会用JS去处理txt的,所以网络上相关的内容很少。所以我写下这篇博客,记录一下JS读取txt的方法,以及我在处理中遇到的一些问题。
在读取文件上,Chrome与IE略有不同,我的代码是针对于Chrome浏览器的,IE的话需要使用ActiveXObject,需要大家注意一下。
1、TXT文件的读取
function ReadFile(data) {
console.log(data)
}
var xhr = new XMLHttpRequest();
xhr.onload = function () {
ReadFile(xhr.responseText);
};
try {
xhr.open("get", "IHR度量.txt", true);
xhr.send();
}
catch (ex) {
console.log("catch")
ReadFile(ex.message);
}
2、两个字符串一样,但不相等
字符串可能含有其他特殊字符:换行符(%D)、空格(%20)...一般不显示。
我们可以使用encodeURIComponent(str) 查看字符串完整内容
如果空格是字符串两边的空格可以直接使用trim进行解决,
或者采用正则表达式解决
.replace(/\ +/g,"") //去掉空格方法
.replace(/[ ]/g,"")//去掉空格
.replace(/[\r\n]/g,"")//去掉回车换行
.replace(/-/g, '') //去掉"-"号
3、toString方法,以及将对象转换为字符串
在JS中对于不同的数据类型他们的toString方法是不同的
在JS中对象的toString方法是不能实现对象与字符串转换的,因此需要借助于JSON实现转换
const obj = {
id: 0,
name: '张三',
age: 12
}
const objToStr = JSON.stringify(obj)
console.log('obj:', obj)
console.log('objToStr:', objToStr)