当输入来自特定来源时,此代码会随机失败,通常可以正常工作:
var str = input;
var lines = str.split("¤");
var map = {};
for(var i = 0; i < lines.length; i++) { var pieces = lines[i].split("=");
map[pieces[0]] = pieces[1];}
例如,此输入数据根本不创建MAP,只有一个映射条目:
"[core]¤student_id=teach54yuy63v¤student_name=Demo, teacher¤credit=c¤lesson_location=¤lesson_status=n,a¤path=¤score=¤time=00:00:00¤[Core_Lesson]¤tmreal_status=n,a¤tmreal_score=¤¤¤[Core_Vendor]¤¤[Objectives_Status]¤¤"
此数据有效:
[芯]¤student_id=169yyuy63v¤student_name=, Si¤credit=c¤lesson_location=1¤lesson_status= N,a¤path=¤score=¤time= 00:00:00¤[Core_Lesson]¤real_status=i¤real_score=¤talhits= INT:
答案 0 :(得分:1)
它与编码有关。也许一些资源使用ASCII,一些UTF。转换,或确保所有资源都具有相同的编码。
答案 1 :(得分:1)
当您尝试从“=”分割“[core]”访问第二项时,会出现错误。
在拆分“=”之后你需要检查一下,你确实得到了一个键和一个值。
var str = input;
var lines = str.split("¤");
var map = {};
for (var i = 0; i < lines.length; i++) {
var pieces = lines[i].split("=");
if (pieces.length == 2) {
map[pieces[0]] = pieces[1];
}
}
答案 2 :(得分:1)
尝试使用\ xA4
这是'¤'的charCode