【问题标题】:javascript hexadecimal color convert into rgb function [duplicate]javascript十六进制颜色转换为rgb函数[重复]
【发布时间】:2017-04-21 17:16:22
【问题描述】:

我是 Javascript 新手。我想创建一个函数,它将采用十六进制颜色代码并将其转换为 rgb(xx,xx,xx)。 我的代码在下面找到

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;
}

除第二个数组元素外,第一个和第三个数组元素正在正确转换。我不知道为什么,谁能告诉我为什么?

【问题讨论】:

  • javascript 数组中的索引以 0 开头,而不是 1
  • @manonthemat 但是十六进制不是以# 开头的吗?所以索引 0 处的元素不是数字。
  • 那么a#ccdd11形式的字符串呢?好吧,那是有道理的。
  • 是的十六进制数以#开头,所以我从 1 开始。是的,我将“a”视为字符串

标签: javascript function hex rgb


【解决方案1】:

您在分配 second 时有错字。你有a[3] + [4],它应该是a[3] + a[4]

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;
}

【讨论】:

  • 非常感谢您的宝贵时间
猜你喜欢
  • 2014-11-07
  • 2012-07-25
  • 1970-01-01
  • 2016-12-27
  • 2016-03-09
  • 1970-01-01
  • 2012-11-01
  • 2022-08-10
  • 1970-01-01
相关资源
最近更新 更多