今天对一份csv进行处理,并将其转化为object。当访问object中的某个key时,发现取出来的value总是undefined,如下图:
奇怪的object在Chrome的开发工具里将object打印出来,发现这个value为undefined的key(图中的"holder_num")与众不同,被一对双引号包裹。
怎么可能是undefined!一开始还以为遇到了什么奇异的现象,使用for循环将其key悉数打印出来,也没发现这个key的特别之处。
将object的key全部打印出来查了半天资料也没找到相关的信息,被这个小问题折腾得一点脾气没有。算了算了,今天不适合写代码,我打算投降。
第二天突发奇想,将整个object转成string打印出来看看,答案就揭晓了!
罪魁祸首都是那个\r原因就在于我在讲csv文件的内容按行拆分时,是按照\n拆分而非[\r\n],而出问题的key恰恰好是行尾的单词!
仅仅按\n拆分是不够的当key中包含换行符时,一般情况下console.log是看不出来的,所以处理数据还是要周全一下好~~
改成\按照r\n拆分 问题解决,结果符合预期!
网友评论