Ключ объекта Javascript недоступен

Я использую 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

}

Мои входы для этой функции выглядят так: Вход для функции

При отладке строки результата возврата в режиме разработчика консоли (я установил локальное наблюдение за obj.endTime) я не могу получить доступ к ключу endTime, несмотря на то, что он обнаруживается в отладчике. Это почти так, как будто специальный персонаж как-то задействован.

ключ endTime

Я попробовал тот же фрагмент кода в jsFiddle, и это сработало... так что похоже на что-то, связанное с версией Javascript/ECMAScript, которая работает на эмуляторе Tizen. Возможно, это было проблемой в более ранних версиях Javascript?

Спасибо!

1 ответ

Решение

Я бы проверил это endTime в вашем заголовке CSV действительно равна 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

Другие вопросы по тегам