Поскольку строки неотменяемы в Javascript, как я могу использовать вход пользователя для конверсий?Как я могу обойти неизменность строки в Javascript?
Я пытался использовать функцию, которая меняет цифры шестнадцатеричного кода цвета на десятичные числа, но застряла с неизменяемым свойством строк. Я попытался скопировать каждый символ в массив, используя «for», но новый массив все еще не работает. Вот пример кода для того, что я пытаюсь сделать:
var user_input = prompt("Please enter an hexadecimal color code:","e.g. A876FF");
var hexa_to_dec = function(hexa_code)/*changes each digit from hexadecimal to decimal*/
{
for(i = 0; i < hexa_code.length; i++)
{
if (isNaN(hexa_code[i]))
{
switch(hexa_code[i])
{
case "A" : hexa_code[i] = 10; break;
case "B" : hexa_code[i] = 11; break;
case "C" : hexa_code[i] = 12; break;
case "D" : hexa_code[i] = 13; break;
case "E" : hexa_code[i] = 14; break;
case "F" : hexa_code[i] = 15; break;
}
}
}
document.write(hexa_code);
}
hexa_to_dec(user_input);
Великий ответ, @adeneo. – Andy
Замена оператора return с помощью этого 'return x.toUpperCase(). CharCodeAt (0) - 55;' добавит больше неясности. – Amberlamps
@Amberlamps - Мне это нравится, и думаю, что это довольно умно. – adeneo