web-dev-qa-db-ja.com

不明なTypeError:未定義のプロパティ 'split'を読み取れません

JavaScriptを使用して日付を分割し、形式を並べ替えます。

日付は、YYYY-MM-DDとしてJSONフィードを介して提供されます。

日付を取得するには、次のようにします。

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 

何か案は?

24
Twitch

あなたの質問はそれ自身に答えます;)og_dateに日付が含まれる場合、それはおそらく文字列なので、og_date.valueは未定義です。

og_date.split('-')の代わりにog_date.value.split('-')を使用するだけです

21
ThiefMaster

ogdateはそれ自体が文字列ですが、なぜそれがvalueプロパティにないのにアクセスしようとしていますか?

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

JSFiddle

4
potashin
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が機能します。

2
LexJacobs