Javascript 获取周围的坐标

Javascript 获取周围的坐标,javascript,arrays,object,ecmascript-6,coordinates,Javascript,Arrays,Object,Ecmascript 6,Coordinates,我有一个x,y坐标的仪表板,如下所示: 现在让我们假设我在4,4上,我想得到一个包含x,y的对象数组,每个坐标在4,4附近,范围为2 所以对象的输出数组类似于 [{x: 2, y: 2}, {x: 3, y: 2}, {x: 4, y: 2}, {x: 5, y: 2}, {x: 6, y: 2}, ...] (现在我看到图像上的x,y是另一个方向,对不起,错了) 我可以得到这样的x: const currentCoord = { x: 4, y: 4 }; const range = 2

我有一个x,y坐标的仪表板,如下所示:

现在让我们假设我在
4,4
上,我想得到一个包含x,y的对象数组,每个坐标在4,4附近,范围为2

所以对象的输出数组类似于

[{x: 2, y: 2}, {x: 3, y: 2}, {x: 4, y: 2}, {x: 5, y: 2}, {x: 6, y: 2}, ...]

(现在我看到图像上的x,y是另一个方向,对不起,错了)

我可以得到这样的x:

const currentCoord = { x: 4, y: 4 };
const range = 2;
const coordsAround = [];

for(let i = 0; i < range * 2; i++) {
  coordsAround.push({x: currentCoord.x - range + i, y: currentCoord.y})
}

console.log(coordsAround)
const currentCoord={x:4,y:4};
常数范围=2;
常数coordsAround=[];
for(设i=0;i

但这远不是解决办法。那么,完成这项任务的最佳方法是什么呢?

您需要循环检查
x
y
两个值-并使用
您可能需要注意边缘情况,例如:从
0开始,0
将给您提供负数是@nickparson,但我不确定OP是否需要这样做(平面几何/坐标总是以负数结束)。是的,我不能得到负坐标,但我只是在内部循环中添加了
如果(currentCoord.x-range+j>=0&¤tCoord.y-range+I>=0){
,它似乎工作得很好:很高兴看到我帮助@dopeCode!