JavaScriptは、数値と対応するASCII文字との変換を行う【fromCharCode、fromCodePoint、charCodeAt、codePointAt】


引用:
今日、JSオブジェクト配列を動的に作成する必要があります.オブジェクトのkey値は同じではありません(正確には秩序あるアルファベットです).具体的には、次のようになります.
var options = [
    {"A":"  A XXXX"},
    {"B":"  B XXXX"},
    {"C":"  C XXXX"},
    {"D":"  D XXXX"},
]

一見簡単な感じですが、よく見ると、私たちがよく見ているオブジェクトを作成するのとは大きな違いがあります.通常、私たちが作成したオブジェクトは、keyがハードコーディングされているため、以下のようになります.
var person = {};
person.name = "   ";    //       key   name

さらに、各itemオブジェクトは構造が似ていますが、key値は完全に同じではありません.keyは秩序あるアルファベットの組み合わせです.
この問題を解決するには、次の2つの問題を解決する必要があります.
  • itemオブジェクトkey名の動的指定
  • key値の秩序生成
  • key名の動的指定:
    各itemオブジェクトkey名、動的指定、2つの方法を解決します.
  • eval()関数を使用して
  • を解決  eval()関数は、入力された文字列をJavaScriptコードとして実行します【PS:この関数は文字列をJSコードとして解析して実行することができるので、使用する場合は、必ずセキュリティの問題を考慮し、詳細はここでは説明しません】.詳細はリンクをクリックしてMDNを参照し、以下は小さなDemoです.
    var person = {}
    var key = 'name'
    eval('person.' + key + "=" + "'   '");    //           ,   JS     ,         key     
    console.dir(person)
  • プロパティアクセサによる解決(PS:すなわち'[key]')
  • プロパティ・アクセサについては、上のリンクをクリックして取得します.ここでは、プロパティ・アクセサDemoを直接示します.
    var person = {}
    var key = 'name'
    person[key] = "    "    //    JS           key 
    console.dir(person)

    key値の秩序生成:
    この秩序あるkey(A,B,C,D......)を知っています.生成するときはASCII文字の符号化特性を用いて実現するのが望ましいが,ASCIIと対応する文字マッピング(正確数を符号化ルールと呼ぶ)を実現するには,C/C++という言語では簡単で,charを直接演算したり,直接強制型変換したりすることでintをcharに変換することができるからである.
        char c = 'A';
        // int n = (int)c;
        // char b = (char)n;
        printf("n = %d
    ", n); // n = 65 printf("b = %c
    ", b); // b = A

    しかし、残念ながらJSでは直接操作できず、対応する関数でしか実現できません.正直、これらの関数は必ず存在すると思いますが、使ったことがありません.コードが少なすぎるようです.必要な関数はfrom Char Code、from Code Point、charCodeAt、code PointAtです
    from Char Code、from Code Pointは、asciiコードに対応する数字を対応する文字に変換する役割を果たします
    charCodeAt、code PointAtは、対応する文字を対応するデジタルasciiコード値に変換する役割を果たす
    両者の使用はとても简単で、リンクをクリックしてMDNの详しいドキュメントを参照することができて、ここの列は简単な使用Demoを出します
    console.log("ascii to char:"  + String.fromCodePoint(65))    // ascii to char: A
    console.log("ascii to char:"  + String.from​Char​Code(65))    // ascii to char: A
    
    console.log("char to ascii:"  + 'A'.charCodeAt(0))    // char to ascii: 65
    console.log("char to ascii:"  + 'A'.code​PointAt(0))    // char to ascii: 65

    総合的に需要を実現する最終的なDemoは以下の通りである.
    var char = 'A';
    console.log("ascii to char:"  + String.fromCodePoint(65))    // ascii to char: A
    console.log("char to ascii:"  + 'A'.charCodeAt(0))    // char to ascii: 65
    
    var options = []
    
    for(index = 0 ; index< 4; index++){
       var option = {}
       option[char] = "  " + char + "XXX";
       options.push(option)
       char = String.fromCharCode(char.charCodeAt(0) + 1);
    }
    console.log(options)

    本文は技術的な含有量はありませんが、初心者には役に立つかもしれません.ここでは主に記録をして後で見るのに便利です.