gpt4 book ai didi

javascript - 定义 2D 数组 Javascript

转载 作者:行者123 更新时间:2023-12-03 08:33:26 26 4
gpt4 key购买 nike

嗨,我正在尝试在 JS 中定义一个 2D 数组,但似乎有两个错误阻止了我,我不确定哪里出错了。i 只是来自 for 循环 - 它已被定义。即使我用 0 替换 i 也会发生相同的错误。我的代码:

let leds[i][i] = randint(0, 10);

这会导致错误:

'=' expected.

但是删除let:

leds[i][i] = randint(0, 10);

导致不同的错误:

Type 'number' is not assignable to type 'undefined'.

我正在使用 BBC Microbit 的 JS 编辑器。提前致谢。

最佳答案

首先,从技术上讲,JavaScript 中不存在二维数组这样的东西。您正在使用的只是数组中的一个数组。

例如,您可以创建 4X4 数组,如下所示:

>>> const array = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]
]
>>> array[1][1]
6

因此,在您的情况下,您需要创建一个空的多维数组,并且只有您可以分配值。

有一个快捷方式可以创建 10x10 数组,并以 0 作为默认值:

>>> const a = new Array(10).fill(new Array(10).fill(0))
>>> a
(10) [Array(10), Array(10), Array(10), Array(10), Array(10), Array(10), Array(10), Array(10), Array(10), Array(10)]
0: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
2: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
3: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
4: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
5: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
6: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
7: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
8: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
9: (10) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
length: 10
__proto__: Array(0)

最后,当您拥有数组时,您可以通过索引获取/分配值:

a[9][9] = 10
10
a[9][9]
10

关于javascript - 定义 2D 数组 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64589283/

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