如何在 JavaScript 中镜像多维数组?

发布于 2024-12-17 17:02:20 字数 389 浏览 0 评论 0原文

我需要能够镜像大小变化的多维数组。我目前正在对每个特定的数组大小进行硬编码,但效率非常低。

示例:

Arr1 { 1 2 3               Arr2 { 1 2
       4 5 6                      3 4
       7 8 9 }                    5 6 }

镜像:

     { 3 2 1                    { 2 1
       6 5 4                      4 3
       9 8 7 }                    6 5 }

数组的大小范围为 2x5 到 4x10。

I need to be able to mirror a multidimensional array that changes in size. I'm currently hard coding for each particular array size and it is horribly inefficient.

Example:

Arr1 { 1 2 3               Arr2 { 1 2
       4 5 6                      3 4
       7 8 9 }                    5 6 }

Mirrored:

     { 3 2 1                    { 2 1
       6 5 4                      4 3
       9 8 7 }                    6 5 }

Arrays range in size from 2x5 to 4x10.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

琴流音 2024-12-24 17:02:20

好吧,你所需要的只是一面水平镜子。
我想你的数组包含每一行的数组,
这意味着您只需要反转每一行即可。

for(var i=0;i<multiarr.length;i++){
   multiarr[i].reverse();
}

甚至更好

multiarr.map(function(arr){return arr.reverse();});

Ok, so all you need is a horizontal mirror.
I suppose that your array contains an array for every line,
so that means that you just need to reverse every row.

for(var i=0;i<multiarr.length;i++){
   multiarr[i].reverse();
}

or even better

multiarr.map(function(arr){return arr.reverse();});
贵在坚持 2024-12-24 17:02:20
For each of the lines:
    For i = 0 to width/2:
        arr[line][i] <-> arr[line][width - i]

这不应该起作用吗?

For each of the lines:
    For i = 0 to width/2:
        arr[line][i] <-> arr[line][width - i]

Shouldn't that work?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文