2

我有字符串'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;
4

2 回答 2

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

如果您有map实现,则可以使用。

于 2012-07-26T17:39:09.770 回答
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;
}

否则,这看起来不错。

于 2012-07-26T17:38:38.273 回答