当前位置: 首页 > 知识库问答 >
问题:

如何在二维数组中找到两个坐标之间的所有元素

颛孙凯定
2023-03-14

从本质上说,我是想创造一个游戏反转。如果你不知道它是什么,我有一个8x8的方块板。有两个坐标,我需要确定所有的方块之间的两个坐标,并填写他们。这两个坐标要么在相同的y上,要么在相同的x上,要么彼此对角线上。

有人能解释一下我做这种事情的逻辑吗?如何确定两个坐标之间所有元素的坐标。

共有1个答案

拓拔富
2023-03-14

您需要一个简单的for循环,从其中一个坐标开始,然后向另一个移动。

null

let connect = (c1, c2) => {
  let delta = c1.map((v, i) => c2[i] - v);
  let magnitude = Math.max(...delta.map(v => Math.abs(v)));
  let direction = delta.map(v => v / magnitude);
  return [...Array(magnitude + 1)].map((_, i) => c1.map((v, j) => v + direction[j] * i));
};

let c1 = [3, 6];
let c2 = [8, 1];
console.log(connect(c1, c2));
 类似资料:
  • 问题内容: 例如我有2个数组 我怎么能 和这样我得到 ? 问题答案: 您可以使用dstack: 如果必须有元组: 对于Python 3+,您需要扩展iterator对象。请注意,这是非常低效的:

  • 我目前正在将对象的3D坐标转换为2D坐标,然后在它们上绘制2D文本(目前,对象名称): 这工作正常。名称成功放置在对象上方。 我怎样才能解决这个问题?是否有某种方法可以检测到我是否正在远离它们而不渲染它们?

  • 问题内容: 嗨,我需要计算具有经度和纬度的两个点之间的距离。 我想避免对外部API的任何调用。 我试图在PHP中实现Haversine公式: 这是代码: 用一些距离公共的给定点进行测试,我没有得到可靠的结果。 我不知道原始公式或实现中是否有错误 问题答案: 不久前,我写了一个haversine公式的示例,并将其发布在我的网站上: ➽请注意,返回的距离与使用参数传入时所用的单位相同。默认值为6371

  • 问题内容: 我有一个基本的查询: 我想在输出中添加另一列…让我们称其为“差异”以找出“ dtcreated”和“ dtlastupdated”之间的天数,例如,如果记录1的dtcreated为1/1/11和dtlastupdated为1/1/12,则“差异”列将为“ 365”。 可以在查询中完成吗? 问题答案: 您将使用: 所以对于您的查询:

  • 问题内容: 我试图在JavaScript数组中找到元素的所有实例的索引,例如“ Nano”。 我尝试了jQuery.inArray或类似的.indexOf(),但是它只给出了元素的最后一个实例的索引,在这种情况下为5。 如何获得所有实例的信息? 问题答案: 该方法有一个可选的第二个参数,用于指定从其开始搜索的索引,因此您可以在循环中调用它以查找特定值的所有实例: 您并没有真正弄清楚如何使用索引,因

  • 我实现了以下代码: 但是,它同时返回和,即使在考虑我报告的数组时,我只打印(因为数组#1包含) 有什么办法可以修正我的代码吗?谢谢你