Javascript对象键不可访问
我正在使用三星Tizen SDK进行智能电视应用程序开发。我有一些将CSV转换为Javascript对象的代码。我在访问由代码创建的对象中的一个键时遇到问题 代码:Javascript对象键不可访问,javascript,tizen,tizen-emulator,Javascript,Tizen,Tizen Emulator,我正在使用三星Tizen SDK进行智能电视应用程序开发。我有一些将CSV转换为Javascript对象的代码。我在访问由代码创建的对象中的一个键时遇到问题 代码: 函数csvJSON(csv){ 变量行=csv.split(“\n”); var结果=[]; var headers=行[0]。拆分(“”,“”); 对于(变量i=1;i
函数csvJSON(csv){
变量行=csv.split(“\n”);
var结果=[];
var headers=行[0]。拆分(“”,“”);
对于(变量i=1;i
}
我对此函数的输入如下所示:
在控制台开发人员模式下调试返回结果行时(我设置了obj.endTime的本地监视),我无法访问endTime键,尽管它显示在调试器中。这几乎就好像一个特殊的角色以某种方式参与其中
我在JSFIDLE中尝试了相同的代码片段,它成功了。。。因此,它似乎与Tizen Emulator上运行的Javascript/ECMAScript版本有关。也许这是早期版本Javascript中的一个问题
谢谢 我会检查csv标题中的
endTime
是否真正等于endTime
,即
endTime1='endTime'
endTime2='\uff45ndTime'
log(`${endTime1}等于${endTime2}是${endTime1===endTime2}`)
//结束时间等于e时间是假的
obj={}
obj[endTime1]=“endTime1”
obj[endTime2]=“endTime2”
控制台日志(obj)
// {
//“endTime”:“endTime1”,
// "endTime:“endTime2”
//}
您是否考虑过您的头有编码问题?您是说它确实有编码问题还是可能有编码问题?我不知道。我会检查您的'endTime'=='endTime'
。也许您有一些看起来相等的字符,但实际上是一些非ascii unicode字符,这些字符只能是ascii字符。我头顶上这样一个角色的一个例子是,或者我最终切换到PapaParse并获得了很好的结果。非常感谢。
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