我遇到問題,爲什麼使用.split()函數。 不知何故當我張開我的線的陣列中的第一個[0]元件可以被訪問,但第二[1]不能split()未給出預期結果
我有以下字符串:
,{"relationID":"000001","recID":"1d2712eb-4f08-4b4f-b6e9-600c9631b503"
和代碼下面是我如何努力拆分此(tempArray含有類似上面的字符串斧數):
var templine = tempArray[i].substr(1, tempArray[i].length);
//alert(templine);
var line = templine.split(',');
var s1 = line[0].split('"')[3];
var s2 = line[1].split('"')[3];
當我使用警報(S1)或警報(S2)我做然而得到的值,如下因素誤差總是發生在最後一行(var s2):
caught TypeError: Cannot read property 'split' of undefined
這導致我腳本的其餘部分崩潰,並且它不會完成它應該顯示的內容,顯示一個空白頁面。
我的問題,這裏出了什麼問題?爲什麼s1能夠正常工作,而s2除了行數組的索引崩潰我的腳本之外完全相同。
我想強調當我使用alert函數來檢查我的變量s1和s2的值,他們確實包含正確的值。
編輯: 可能是一個很好的獎金,因爲可能有一個easyer的方式。 後我已經得到的值S1和S2我想將它們放在一個地圖像這樣:
map[s2] = s1;
,你可能會說我使用的字符串是分裂1個堆積如山的字符串的結果('} 「)。這裏顯示的代碼就是我在循環這個數組的時候所做的。
由於錯誤狀態,「行[1]」未定義。 – forgivenson
我沒有任何問題運行您的代碼,因爲它是。 – Vache
運行你的代碼沒有問題 – Mritunjay