把rgb字符串转换为十进制

时间:2012-07-26 17:27:10

标签: javascript

我有字符串'rgb(255,0,0)',需要获取小数组数组。

以下代码段似乎给了我想要的结果。任何建议,顾虑,更好的方式?

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;

2 个答案:

答案 0 :(得分:3)

'rgb(255,0,0)'.match(/\d+/g).map(Number) // ==> [255, 0, 0]
如果您有map实施,则

有效。

答案 1 :(得分: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;
}

否则,这看起来很好。

相关问题