Uncaught TypeError: Не удается прочитать свойство "split" из undefined

Использование JavaScript для разделения даты и изменения формата.

Дата предоставляется через json-канал как YYYY-MM-DD.

Чтобы получить дату, я:

var og_date = (v.report[totalItems -1].inspection_date);
console.log(og_date);

консольный журнал правильно показывает дату, то есть "2012-10-01".

Далее, я пытаюсь разделить дату, например:

console.log(og_date.value.split('-'));

И я получаю:

Uncaught TypeError: Cannot read property 'split' of undefined 

Любые идеи?

Ответы

Ответ 1

Ваш вопрос отвечает сам;) Если og_date содержит дату, это, вероятно, строка, поэтому og_date.value есть undefined.

Просто используйте og_date.split('-') вместо og_date.value.split('-')

Ответ 2

ogdate сам по себе является строкой, почему вы пытаетесь получить к нему доступ свойство value, которое у него отсутствует?

console.log(og_date.split('-'));

JSFiddle

Ответ 3

og_date = "2012-10-01";
console.log(og_date); // => "2012-10-01"

console.log(og_date.split('-')); // => [ '2012', '10', '01' ]

og_date.value будет работать, только если дата была сохранена как свойство объекта og_date. Например: var og_date = {}; og_date.value="2012-10-01"; В этом случае ваш оригинальный console.log будет работать.