简体   繁体   English

将RGB字符串转换为十进制

[英]take rgb string convert to decimal

i have string 'rgb(255,0,0)' and need to get array of decimals. 我有字符串'rgb(255,0,0)'并且需要获取小数数组。

The following snippet seems to give me the desired results. 以下代码段似乎给了我想要的结果。 Any suggestions, concerns, better ways? 有什么建议,担忧,更好的方法吗?

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;
'rgb(255,0,0)'.match(/\d+/g).map(Number) // ==> [255, 0, 0]

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

I would wrap part of the logic in a for loop: 我会将部分逻辑包装在for循环中:

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

Otherwise, this looks fine. 否则,这看起来不错。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM