2016-12-06 5 views
1

Ich bin neu in Javascript. Ich möchte eine Funktion erstellen, die einen hexadezimalen Farbcode annimmt und in rgb (xx, xx, xx) konvertiert. My Code untenJavascript hexadezimale Farbe in rgb Funktion konvertieren

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

zuerst gefunden wird und die dritte Feldelement wird die Umwandlung korrekt außer zweiten Array-Elemente. Ich weiß nicht warum, kann mir jemand sagen warum?

+0

Indizes in Javascript-Arrays beginnt mit 0, nicht 1 – manonthemat

+0

@manonthemat Aber ist nicht das hex begann mit '#'? So Element bei Index 0 ist keine Zahl. –

+0

Also 'a' ist ein String in der Form' #ccdd11' dann? Nun, das macht dann Sinn. – manonthemat

Antwort

1

Sie hatten einen Tippfehler bei der Zuweisung second. Sie hatten a[3] + [4], wenn es a[3] + a[4] sein sollte.

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

vielen Dank für Ihre Zeit – user6787493