1

私は配列を持っています

var hex_to_dec = {
    '0' : 0,
    '1' : 1,
    '2' : 2,
    '3' : 3,
    '4' : 4,
    '5' : 5,
    '6' : 6,
    '7' : 7,
    '8' : 8,
    '9' : 9,
    'A' : 10,
    'B' : 11,
    'c' : 12,
    'D' : 13,
    'E' : 14,
    'F' : 15
};

と関数

function get_dec_from_hex(key){//if key=A
    console.log(hex_to_dec["A"]);//works
    return hex_to_dec[key];//doesnt work
}

キーが文字で機能しない場合に値を取得しようとしていますが、キーが数値の場合、「未定義」の出力を取得せずに値を取得できます

4

2 に答える 2

5

変換のリストを自分で管理する必要はありませんparseInt。簡単にアクセスできます。

コンソールでこれを試してください:

parseInt('1', 16) // 1
parseInt('2', 16) // 2
...
parseInt('A', 16) // 10
parseInt('B', 16) // 11
...
parseInt('F', 16) // 15

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseIntから

文字列引数を解析し、指定された基数または基数の整数を返します。

var intValue = parseInt(string[, radix]);

ストリング

解析する値。文字列が文字列でない場合は、1つに変換されます。文字列の先頭の空白は無視されます。

基数

上記の文字列の基数を表す整数。このパラメーターはオプションですが、読者の混乱を排除し、予測可能な動作を保証するために、常にこのパラメーターを指定してください。基数が指定されていない場合、実装が異なれば結果も異なります。

于 2012-10-28T18:45:40.453 に答える
4

まず、hex_to_decは配列ではなく、オブジェクトです。そして、あなたの関数はうまく機能します、試してみてください:

function get_dec_from_hex(key){
    return hex_to_dec[key];
} 

console.log(get_dec_from_hex("D"));
于 2012-10-28T18:43:05.000 に答える