Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
旋转8x8位矩阵(由8个十六进制值表示)的高效JavaScript方法_Javascript_Arrays_Node.js_Matrix - Fatal编程技术网

旋转8x8位矩阵(由8个十六进制值表示)的高效JavaScript方法

旋转8x8位矩阵(由8个十六进制值表示)的高效JavaScript方法,javascript,arrays,node.js,matrix,Javascript,Arrays,Node.js,Matrix,我有一些字体表示为8个十六进制值的数组,它们依次表示8x8 LED数组中LED的状态 每个十六进制值等于位矩阵中的一行 例如,[0x41,0x7F,0x7F,0x49,0x5D,0x41,0x63,0x00]/'E'表示字符“E”,如下所示: 011001 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 或者,更明显的是:

我有一些字体表示为8个十六进制值的数组,它们依次表示8x8 LED数组中LED的状态

每个十六进制值等于位矩阵中的一行

例如,
[0x41,0x7F,0x7F,0x49,0x5D,0x41,0x63,0x00]/'E'
表示字符“E”,如下所示:

011001
0 1 1 1 1 1 1 1 
0 1 1 1 1 1 1 1 
0 1 0 0 1 0 0 1 
0 1 0 1 1 1 0 1 
0 1 0 0 0 0 0 1 
0 1 1 0 0 0 1 1 
0 0 0 0 0

或者,更明显的是:

█           █ 
█ █ █ █ █ █ █ 
█ █ █ █ █ █ █ 
█     █     █ 
█   █ █ █   █ 
█           █ 
█ █       █ █ 

在保持“阵列中的8个十六进制值”格式(作为输出)的同时,顺时针/逆时针旋转阵列的最佳选项(效率方面)是什么

const-lette=[0x41、0x7F、0x7F、0x49、0x5D、0x41、0x63、0x00];
控制台日志(字母);
const convertToByteMatrix=hexArray=>hexArray
.map(r=>r
.toString(2)
.padStart(六边形长度,“0”)
.拆分(“”)
);
const convertToHexArray=byteMatrix=>byteMatrix
.map(r=>parseInt(r
.join(“”,2)
.toString(16)
);
console.log(convertToByteMatrix(lette));
//改编自https://stackoverflow.com/a/42535/2407212
常量旋转顺时针=六边形=>{
常量byteMatrix=转换字节矩阵(六边形);
常量大小=六边形长度;
const rotatedByteArray=Array(size.fill().map(()=>Array(size.fill());
for(设i=0;i控制台日志(旋转字母)你所说的“效率”是什么意思?你不可能比
O(n²)
(n是矩阵的宽度/高度)Hm更糟糕,也许“优雅”这个词更合适。我不太喜欢JavaScript的内置方法,所以我希望有一个比嵌套for循环更好的选项。当然,你可以使用
reduce
Array之类的东西。从
开始,但最终总是归结为嵌套循环-只是语法不同。这就是我想要的,因为这样更容易理解它。