You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过传入x、y参数获取目标点的8个笛卡尔邻域坐标

笛卡尔邻域点功能实现修改方案

问题原因

当前代码输出格式不符合预期的核心原因是:map 回调返回的是 {x: 数值, y: 数值} 的对象数组,而预期输出是二维数组结构,同时函数没有显式返回计算结果。

修改后的代码

const neighbours = [
  [-1, -1],
  [-1, 0],
  [-1, 1],
  [0, -1],
  [0, 1],
  [1, -1],
  [1, 0],
  [1, 1]
];

function getOutPut(x, y) {
  // 把返回的对象改为 [x+dx, y+dy] 数组结构
  const results = neighbours.map(([dx, dy]) => [x + dx, y + dy]);
  console.log("results is", results);
  // 增加return语句方便外部使用计算结果
  return results;
}

// 测试验证
// 对应第一个示例,中心坐标为(2,2)
getOutPut(2, 2); 
// 对应第二个示例,中心坐标为(-17,7)
getOutPut(-17,7);

输出验证

  • 调用 getOutPut(2, 2) 输出:[[1,1],[1,2],[1,3],[2,1],[2,3],[3,1],[3,2],[3,3]],和第一个预期示例一致
  • 调用 getOutPut(-17, 7) 输出:[[-18,6],[-18,7],[-18,8],[-17,6],[-17,8],[-16,6],[-16,7],[-16,8]],和第二个预期示例一致

内容的提问来源于stack exchange,提问作者ganesh kaspate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:24:03