我最近因为做了几个小游戏,用到了二维数组,其中有需求将这个二维数组正翻转 90°,-90°,180°。

本人是笨人,写下了存起来。

定义的基本二位数组渲染出来是这种效果。

现在想实现的结果是下面的效果:

当然可以让div用position定位,left和top调整。

但是我就想改变数组的话,我的笨办法:用两重for循环,重新创建一个数组。

规律是:向右转90°时候, i (列)变成j(行)后 将所在行的位置倒过来 ,j变成 i不变,很难表述,一看代码便知。

同理:向左旋转时候,列和行交换,但是交换后,将列倒过来。

转180度,行不变,列倒过来。

270度。等于先转180度再转90度。或者原来行变列后,将这个新列倒过来,    原来的列变成行;

不贴图了,意思到了就能做出来了。重点就是行和列的交换

用js实现二维数组的旋转的更多相关文章

  1. C#/JS 获取二维数组组合

    C#获取二维数组组合 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  2. JS的二维数组

    今天,记录一下JS的二位数组,并附上例题. 一.二维数组的本质:数组中的元素又是数组. 其实,我们都见过这样的二维数组,只不过没在意罢了,例如: var arr = [[1,2,4,6],[2,4,7 ...

  3. js 将二维数组转为一维数组

    方法一 使用ES的最新语法:Array.prototype.flat(). flat([dept]),参数 dept 为数组的深度,默认为1,根据传入的深度将数组展开. 对于不确定深度的数组,可以传入 ...

  4. js 输出二维数组的最大值

    function num(arr){ max=a[0][0]; for (var i = 0; i < a.length; i++) { for (var j = 0; j< a[i].l ...

  5. js输出二维数组最长的子数组

    ,,],[,,,],[,,,,]]; ].length; ; i < a.length; i++) { if (max<a[i].length) { max=a[i].length; va ...

  6. JS遍历二维数组

    //求平均数 var pjs=[ ['小明',87], ['小红',81], ['小花',97], ['小天',76], ['小张',74], ['小小',94], ['小西',90], ['小武', ...

  7. js 如何生成二维数组

    想了几种方法都不能很好的,用js定义二维数组.这种定义,指的是:定义按需确认数组大小. 网上看了下,都是用for循环创建,大小必须提前设定.不是我想要的.(感觉不能和php一样,真是麻烦!) 先贴出代 ...

  8. php 二维数组传递给 js 问题解决记录

    需求: php从数据库中读取到二维数组.传递到js中 实现步骤: php:json_encode  →   json  →  js:eval 即在php中使用json_encode()将php的二维数 ...

  9. day4 二维数组旋转90度

    二维数组的旋转其实就是数组里面的元素对调的情况:下面有一个4×4的二维数组,[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]],现在要求把 ...

随机推荐

  1. Linux中的普通命令如何以管理员身份运行

    set uid, gid, sticky bit 权限 一个文件都有一个所有者, 表示该文件是谁创建的.同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.如果是一个可执行 ...

  2. nvidia-smi命令输出详解

    nvidia-smi命令输出如下: +-----------------------------------------------------------------------------+ | ...

  3. 卷积神经网络(CNN)代码实现(MNIST)解析

    在http://blog.csdn.net/fengbingchun/article/details/50814710中给出了CNN的简单实现,这里对每一步的实现作个说明: 共7层:依次为输入层.C1 ...

  4. iOS NSDictionary 转Json 去掉换行去掉空格

    //dic 转json 如果用系统自带的会出现空格. + (NSString *)returnJSONStringWithDictionary:(NSDictionary *)dictionary{ ...

  5. 树莓派raspberry pi配置

    (1)国际化语言 树莓派初装系统之后,首次启动会出现“raspi-config”工具,如下图:(若不是初次启动,在命令模式下,请输入 sudo raspi-config 命令,即可调出此界面.若在图形 ...

  6. LIN 笔记

    LIN 使用了 1 根线来进行通信,但是,它必须要参考 VBat 和 GND.离开这两个参考电平,并没有办法来判断线上的 bit 状态. 另外,根据经典的 LIN 驱动电路(一个 OC 门),RX 接 ...

  7. memcache源码编译安装

    问题描述: memcached未授权漏洞.运行账户root,对未授权,官方也没有账户认证,也想不明白,为啥不搞个账户认证memcached..... 问题解决: 未授权,网上大部分通过防火墙实现对未知 ...

  8. FreeBie—免费设计师专用素材网

    FreeBie—免费设计师专用素材网 网站地址: https://freebiesupply.com/ 网站分类: 素材 浏览次数: 192 标签: 设计素材 Freebie Supply 是国外一家 ...

  9. html5利用websocket完成的推送功能(tomcat)

    html5利用websocket完成的推送功能(tomcat) 利用websocket和java完成的消息推送功能,服务器用的是tomcat7.0.42,一些东西是自己琢磨的,也不知道恰不恰当,不恰当 ...

  10. C语言 · 关联账户

    标题:关联账户 为增大反腐力度,某地警方专门支队,对若干银行账户展开调查. 如果两个账户间发生过转账,则认为有关联.如果a,b间有关联, b,c间有关联,则认为a,c间也有关联. 对于调查范围内的n个 ...