2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: 56592a60ddddeae28f7aa8e1
|
2021-03-14 21:20:39 -06:00
|
|
|
|
title: 使用索引访问多维数组
|
2018-10-10 18:03:03 -04:00
|
|
|
|
challengeType: 1
|
2020-04-29 18:29:13 +08:00
|
|
|
|
videoUrl: 'https://scrimba.com/c/ckND4Cq'
|
|
|
|
|
forumTopicId: 16159
|
2021-01-13 03:31:00 +01:00
|
|
|
|
dashedName: access-multi-dimensional-arrays-with-indexes
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --description--
|
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
我们可以把<dfn>多维</dfn>数组看作成是*数组中的数组*。 使用方括号表示法访问数组时,第一个方括号访问的是数组的最外层(第一层),第二个方括号访问的是数组的第二层,以此类推。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
**例如:**
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
|
|
|
|
```js
|
2021-10-27 15:10:57 +00:00
|
|
|
|
const arr = [
|
|
|
|
|
[1, 2, 3],
|
|
|
|
|
[4, 5, 6],
|
|
|
|
|
[7, 8, 9],
|
|
|
|
|
[[10, 11, 12], 13, 14]
|
2020-04-29 18:29:13 +08:00
|
|
|
|
];
|
2021-10-27 15:10:57 +00:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
arr[3];
|
|
|
|
|
arr[3][0];
|
|
|
|
|
arr[3][0][1];
|
2020-04-29 18:29:13 +08:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
`arr[3]` 为 `[[10, 11, 12], 13, 14]`,`arr[3][0]` 为 `[10, 11, 12]`,并且 `arr[3][0][1]` 为 `11`。
|
|
|
|
|
|
2021-05-10 01:12:02 +05:30
|
|
|
|
**注意:** 数组名与方括号之间不应该有任何空格,比如 `array [0][0]` 甚至是 `array [0] [0]` 都是不允许的。 尽管 JavaScript 能够正确处理这种情况,但是当其他程序员阅读你写的代码时,这可能让他们感到困惑。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --instructions--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
使用方括号从 `myArray` 中选取一个值,使得 `myData` 等于 `8`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
`myData` 应该等于 `8`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert(myData === 8);
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-14 21:20:39 -06:00
|
|
|
|
你应该使用方括号从 `myArray` 中读取正确的值。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2021-02-06 04:42:36 +00:00
|
|
|
|
assert(/myData=myArray\[2\]\[1\]/.test(__helpers.removeWhiteSpace(code)));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
|
|
## --after-user-code--
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
if(typeof myArray !== "undefined"){(function(){return "myData: " + myData + " myArray: " + JSON.stringify(myArray);})();}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
|
|
```js
|
2021-10-27 15:10:57 +00:00
|
|
|
|
const myArray = [
|
|
|
|
|
[1, 2, 3],
|
|
|
|
|
[4, 5, 6],
|
|
|
|
|
[7, 8, 9],
|
|
|
|
|
[[10, 11, 12], 13, 14],
|
|
|
|
|
];
|
2021-01-13 03:31:00 +01:00
|
|
|
|
|
2021-10-27 15:10:57 +00:00
|
|
|
|
const myData = myArray[0][0];
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --solutions--
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```js
|
2021-10-27 15:10:57 +00:00
|
|
|
|
const myArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14]];
|
|
|
|
|
const myData = myArray[2][1];
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```
|