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