gpt4 book ai didi

javascript - 检查数组中特定索引处的值?

转载 作者:行者123 更新时间:2023-11-30 17:42:13 24 4
gpt4 key购买 nike

我遇到了一些麻烦......

基本上我有这个数组(二维)来存储图 block (带有颜色的基本 div 等...),可以通过执行更改特定图 block 的属性;

world[x][y].style blabla somehting

现在,我开始做一些寻路工作,以便能够在这些方 block 上四处走动,假设我有一个 10x10 的方 block 网格,范围从 -5,-5 到 5,5(坐标) .

我坐在 -5,-5 方 block 上,点击某处“开始寻路”,我的寻路基本上只是找到 8 个相邻的方 block 并返回它们,然后我选择让我更近的方 block ,然后我会重复 X 次,直到达到目标。

如果我站在中间 (0,0) 并尝试去某个地方,这没问题,但由于我在我的“世界”的 Angular 落,我在搜索相邻的图 block 时遇到了一些问题;

--#ooooo--

--o o o o o--

--o o o o o--

--o o o o o--

--o o o o o--

假设这是我的世界,# 是 Angular 色,o 是空砖,- 只是一个空旷的深渊(我无法到达的地方)

现在我想去X;

--#ooooo--

--o o o o o--

--o o X o--

--o o o o o--

--o o o o o--

所以我开始了我的小寻路算法,但是当它从我所在的位置搜索相邻的图 block 时,它会返回一个错误,因为没有剩余、左+下、左+上或(从我的位置开始)的图 block 。

--# + o o o--

--+ + o o o--

--o o o o o--

--o o o o o--

--o o o o o--

(+) 是可用的图 block ,但它会尝试搜索我周围的更多图 block ,这会导致错误。

我试图通过使用排除不存在的图 block ;

if (world[x][y] !== null) {}
if (world[x][y] != null) {}
if (world[x][y] !== 'undefined') {}
if (world[x][y] != 'undefined') {}
if (!world[x][y]) {}

但是错误是在 if 语句中给出的,而不是实际的“tile returning”...

那么,如何预先检查数组中特定索引(或 2 个特定索引)处是否有内容?

另请注意,我的阵列确实有一些间隙,因为我的世界不仅仅是可步行的瓷砖。

最佳答案

在检查 world[x][y] 之前,您需要验证 world[x] 处的行/列

if (!world[x] || !world[x][y]) {
// Tile does not exist
}else{
// Tile exists
}

关于javascript - 检查数组中特定索引处的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com