2016-12-06 9 views
1

Я новичок в 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; 
} 

Первый и третий элемент массива правильно преобразования, за исключением второго элемента массива. Я не понимаю, может ли кто-нибудь сказать мне, почему?

+0

индексов в JavaScript массивы начинаются с 0, а не 1 – manonthemat

+0

@manonthemat Но не шестигранной начал с '# '? Таким образом, элемент с индексом 0 не является числом. –

+0

Значит, 'a' является строкой в ​​виде' # ccdd11'? Ну, тогда это имеет смысл. – manonthemat

ответ

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

большое вам спасибо за ваше время – user6787493

 Смежные вопросы

  • Нет связанных вопросов^_^