2011-04-21 21 views
1

我有3D模型,它被表示爲一個COORDS屬性具有「x y z ... x y z」座標的HTML元素。如果模型很小(COORDS值相對較短),那麼分割字符串(將值放入數組),更改特定值(我知道位置/索引)以及連接數組(將字符串返回到一起)都沒有問題。在JavaScript中只更改屬性值的一部分

那麼,有沒有辦法獲取/更新部分COORDS值,而只知道字符串中的位置/索引?

回答

1

您可以使用substr函數將字符串拆分到您想要更改它的位置。這樣你只會得到兩部分字符串。

基本上是這樣的:

var str = 'foo bar baz'; 
var start = str.substr(0, 4); //start is now 'foo ' 
var end = str.substr(7); //end is now ' baz' 

var newStr = start + 'hello' + end; //foo hello baz 

對於這個工作,你需要知道的字符串中加上精確索引,你想要替換的數據的長度。只要不存在任何性能問題,拆分它可能會更容易。

+0

謝謝,賈尼,巴士這不會工作,因爲值可能會非常不同:「1.234 1.0 -1111.00888 ... 0 0 0」。我想過getAttribute(「COORDS」)[0]之類的東西,但不是一個字符,而是指整數。我嘗試了正則表達式,但它和分割函數一樣。 – CubicsRube 2011-04-21 14:19:20

+1

如果您知道在拆分時它將在數組中具有的索引,則可以在循環中使用indexOf(str.indexOf)來查找第N個空間,然後再查找下一個空間。這些點可以用於substr函數。 – 2011-04-21 16:41:40