Javascript 对象键不可访问
Javascript object key is not accessible
我正在使用 Samsung Tizen SDK 进行 SmartTV 应用程序开发。我有一些代码可以将 CSV 转换为 Javascript 对象。我在访问从代码创建的对象中的键之一时遇到问题。
代码:
function csvJSON(csv) {
var lines = csv.split("\n");
var result = [];
var headers = lines[0].split(",");
for (var i = 1; i < lines.length; i++) {
var obj = {startTime:'',
endTime:'',
day:''};
var currentline = lines[i].split(",");
for (var j = 0; j < headers.length; j++) {
obj[headers[j]] = currentline[j];
}
result.push(obj);
}
return result; // JavaScript object
}
我对该函数的输入如下所示:
Input to function
在控制台开发者模式下调试 return 结果行时(我设置了 obj.endTime 的本地监视),我无法访问 endTime 键,尽管它出现在调试器中。几乎就像以某种方式涉及一个特殊字符。
endTime key
我在 jsFiddle 中尝试了相同的代码片段并且它起作用了......所以它似乎与 Tizen 模拟器上的 运行 版本 Javascript/ECMAScript 相关。也许这是早期版本 Javascript 中的一个问题?
谢谢!
我会检查你的 csv header 中的 endTime
是否真正等于 endtime
,即
endTime1 = 'endTime'
endTime2 = '\uff45ndTime'
console.log(`${endTime1} equals ${endTime2} is ${endTime1 === endTime2}`)
// endTime equals endTime is false
obj = {}
obj[endTime1] = 'endTime1'
obj[endTime2] = 'endTime2'
console.log(obj)
// {
// "endTime": "endTime1",
// "endTime": "endTime2"
// }
为什么你不为此使用库?例如
http://papaparse.com/docs#csv-to-json
我正在使用 Samsung Tizen SDK 进行 SmartTV 应用程序开发。我有一些代码可以将 CSV 转换为 Javascript 对象。我在访问从代码创建的对象中的键之一时遇到问题。
代码:
function csvJSON(csv) {
var lines = csv.split("\n");
var result = [];
var headers = lines[0].split(",");
for (var i = 1; i < lines.length; i++) {
var obj = {startTime:'',
endTime:'',
day:''};
var currentline = lines[i].split(",");
for (var j = 0; j < headers.length; j++) {
obj[headers[j]] = currentline[j];
}
result.push(obj);
}
return result; // JavaScript object
}
我对该函数的输入如下所示: Input to function
在控制台开发者模式下调试 return 结果行时(我设置了 obj.endTime 的本地监视),我无法访问 endTime 键,尽管它出现在调试器中。几乎就像以某种方式涉及一个特殊字符。
endTime key
我在 jsFiddle 中尝试了相同的代码片段并且它起作用了......所以它似乎与 Tizen 模拟器上的 运行 版本 Javascript/ECMAScript 相关。也许这是早期版本 Javascript 中的一个问题?
谢谢!
我会检查你的 csv header 中的 endTime
是否真正等于 endtime
,即
endTime1 = 'endTime'
endTime2 = '\uff45ndTime'
console.log(`${endTime1} equals ${endTime2} is ${endTime1 === endTime2}`)
// endTime equals endTime is false
obj = {}
obj[endTime1] = 'endTime1'
obj[endTime2] = 'endTime2'
console.log(obj)
// {
// "endTime": "endTime1",
// "endTime": "endTime2"
// }
为什么你不为此使用库?例如 http://papaparse.com/docs#csv-to-json