javascript十六进制颜色转换成rgb函数
问题描述:
我是Javascript新用户。我想创建一个函数,它将采用十六进制颜色代码,并将其转换为rgb(xx,xx,xx)。 我的代码被发现下面javascript十六进制颜色转换成rgb函数
function my(a){
var first = a[1] + a[2];
var second = a[3] + [4];
var third = a[5] + a[6];
var res = [first,second,third];
for(var i = 0; i <res.length; i++){
res[i] = parseInt(res[i],16);
}
return res;
}
第一和第三阵列元件,不同之处第二阵列元件正确地转换。我不明白为什么,有谁能告诉我为什么?
答
您在分配second
时遇到了拼写错误。你有a[3] + [4]
,当它应该是a[3] + a[4]
。在JavaScript数组
function my(a) {
var first = a[1] + a[2];
var second = a[3] + a[4];
var third = a[5] + a[6];
var res = [first,second,third];
for(var i = 0; i < res.length; i++){
res[i] = parseInt(res[i],16);
}
return res;
}
+0
非常感谢你的时间 – user6787493
指数从0开始,而不是1个 – manonthemat
@manonthemat但实际情况并非六角开始''#?因此索引0处的元素不是数字。 –
那么'a'是'#ccdd11'形式的字符串呢?那么,那是有道理的。 – manonthemat