Javascript 用 a-f 替换数字 10-15

标签 javascript hex decimal

我是编码新手,我已经搜索了几个小时,但还没有真正找到问题的明确答案。一些建议已经接近我想要实现的目标,我认为这些建议有一点帮助,但仍然没有得到我想要的结果。

我经常使用 codepen.io 来查看代码的即时输出,而不是 jsfiddle,只是因为我更喜欢它的工作方式。

这是有问题的代码:

    var x;
    var y;
    var z;

    var arrayFiller;
    var betaArray = new Object(256);
    betaArray[0] = 0 + " " + 0;

    for(var i=1; i<256; i++)
    {
      x = i;
      y = x % 16;
      x = x / 16;
      x = Math.floor(x);
      z = x % 16;
      x = i;

      arrayFiller = z + "" + y + " ";

      $(
        function()
        {
          var hexDerp = 
              {
                '0' : "0",
                '1' : "1",
                '2' : "2",
                '3' : "3",
                '4' : "4",
                '5' : "5",
                '6' : "6",
                '7' : "7",
                '8' : "8",
                '9' : "9",
                '10': "A",
                '11': "B",
                '12': "C",
                '13': "D",
                '14': "E",
                '15': "F"
              };
          var hexDerp1 = /(0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)/g;
          var arrayFillerHex = arrayFiller.replace
                                                   (
                                                     hexDerp1,
                                                     function(s)
                                                     {
                                                       if(s in hexDerp)
                                                         {
                                                           return hexDerp[s];
                                                         }
                                                     }
                                                   );
       }
     );
     betaArray[i] = arrayFiller;
     document.write(betaArray[i]);
   }

如果格式不正确,我很抱歉,我发现这对我自己来说是最清晰的方法。 目前不起作用的是功能部分,它是我发现的内容的合并,以便用 a-f 替换 10-15。

可能还有其他方法可以输入和输出它,但我想保留它以供我最终使用它。

tl;dr:我想用这段代码做的是获取一个包含 256 个元素的数组,并使用元素编号的十六进制版本填充元素,以便稍后在我所使用的独特字母表中使用制作。

最佳答案

您可以使用以下方法将十进制数转换为十六进制数:

(anyNumber).toString(16);

关于Javascript 用 a-f 替换数字 10-15,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24017949/

相关文章:

latex - (La)TeX Base 10 定点运算

javascript - 将动态 JSON 中的所有小数四舍五入至小数点后 2 位

javascript - 为什么我会获得这种奇怪的行为,试图为拖动到 PrimeNG FullCalendar 组件中的不同事件类型使用不同的颜色?

javascript - 如何使用计算属性过滤 VueJS 中 v-for 循环的结果?

rust - 如何将十六进制数字而不是&[u8]写入文件

c++ - 如何在 C++ 中将十六进制字符串转换为字节字符串?

javascript - 当您不构建单页面应用程序时,如何构建 Vue.js 单文件组件并导入它们?

javascript - 将 passport-steam 与 sails-generate-auth 结合使用

java - 为什么在将十六进制字符串格式化为三位数字时会出现 IllegalFormatConversionException?

delphi - 小数舍入和打印机选择