2012-05-07 159 views
-1

我只是試圖使用逗號作爲delmiter拆分object。我知道有些東西需要分割,因爲當我自己輸出時...它成功地說明了(通過循環)1,1和其他數字。jQuery - 未捕獲TypeError:對象0,0沒有方法'拆分' - 試圖在對象上拆分()

這是一個JSFiddle。 http://jsfiddle.net/weka/5Xtwj/

如果您刪除JavaScript部分中的最後兩行,它將正常工作,因爲我不想獲取數組的X

var getX = path[index].split(","); 
$("#debug").append("X: " + getX[0]); 

PS - 它使用pathfinding script作爲外部庫。但這不是問題。

+3

有這麼多毛病你的問題......什麼,你甚至想在你的jsfiddle代碼呢? – kay

+0

對不起,我確實知道你可以在一個數組中分割一個對象。對不起,問一個愚蠢的問題。 – nn2

回答

2

您可以使用split只有字符串,你可以在你的console.log看不出這是一個數組的數組,所以這就是爲什麼你得到這個錯誤。
您可以用下面的代碼獲得的X值:

使用slice

var getX = path[index].slice(0); 

或者:

var getX = path[index][0]; 
+1

請注意,每個人都討厭在這裏的w3schools。在任何其他人注意之前更好地更改[link](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split)。 ;-) – kay

+0

嗯好吧我不知道它是什麼。 –

1

錯誤消息告訴您

Object 0,0 has no method 'split' 

本發明的目的[又名陣列]和你正在表現得像它是一個字符串。你爲什麼需要拆分它?引用它。

var first = path[index][0]; 
1

split只能用於字符串。每個path[index]而不是一個字符串,它是一個數組(查看控制檯輸出)。您看到0,0,因爲數組正在轉換爲字符串進行打印。

解決方案:而不是使用path[index].split(",")[0],只需使用path[index][0]

enter image description here

1

path[index]值不是一個字符串,它是一個陣列。

你不能分割它,你不需要。您可以使用它了:

var getX = path[index]; 
$("#debug").append("X: " + getX[0] + "\n"); 

http://jsfiddle.net/Guffa/5Xtwj/1/

+0

你對JavaScript的理解太合理了。 'typeof'返回一個Array的'object'。他們確實是真正的陣列;-)但你的答案的其餘部分+1。 –

+1

@cliffsofinsanity:哦,你說得對。 'path [index] .constructor'實際返回數組構造函數。 :)我糾正了這一點。 – Guffa

相關問題