2012-07-26 67 views
2

我有字符串'rgb(255,0,0)'並且需要獲取小數位數組。將rgb字符串轉換爲十進制

下面的代碼片段似乎給了我想要的結果。任何建議,關注,更好的方法?

var arrRGB = pagedefault.nodelist.style.color.match(/\d+/g); //gives me ["255","0","0"] 
arrRGB[0] = Number(arrRGB[0])/255; 
arrRGB[1] = Number(arrRGB[1])/255; 
arrRGB[2] = Number(arrRGB[2])/255; 

回答

1

我會在for循環包裹邏輯的一部分:

var arrRGB = pagedefault.nodelist.style.color.match(/\d+/g); 
for (var i = 0; i < arrRGB.length; i++) { 
    arrRGB[i] = Number(arrRGB[i])/255; 
} 

否則,這看起來不錯。

3
'rgb(255,0,0)'.match(/\d+/g).map(Number) // ==> [255, 0, 0] 

如果您有map實施,則適用。

相關問題