2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
id: 56592a60ddddeae28f7aa8e1
|
2020-12-16 00:37:30 -07: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-01-13 09:11:33 -08:00
|
|
|
我们可以把<dfn>多维</dfn>数组看作成是*数组中的数组*。使用方括号表示法访问数组时,第一个方括号访问的是数组的第一层,第二个方括号访问的是数组的第二层,以此类推。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
|
|
**示例**
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
|
|
```js
|
|
|
|
var arr = [
|
|
|
|
[1,2,3],
|
|
|
|
[4,5,6],
|
|
|
|
[7,8,9],
|
|
|
|
[[10,11,12], 13, 14]
|
|
|
|
];
|
2021-01-13 09:11:33 -08:00
|
|
|
arr[3]; // 返回 [[10,11,12], 13, 14]
|
|
|
|
arr[3][0]; // 返回 [10,11,12]
|
|
|
|
arr[3][0][1]; // 返回 11
|
2020-04-29 18:29:13 +08:00
|
|
|
```
|
|
|
|
|
2021-01-13 09:11:33 -08:00
|
|
|
**注意**
|
|
|
|
数组名与方括号之间不应有空格,不推荐像是 `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-01-13 09:11:33 -08: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-01-13 09:11:33 -08: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-01-13 09:11:33 -08:00
|
|
|
应使用方括号表示法从 `myArray` 中取值。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert(
|
|
|
|
/myArray\[2\]\[1\]/g.test(code) &&
|
|
|
|
!/myData\s*=\s*(?:.*[-+*/%]|\d)/g.test(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
|
|
|
|
// Setup
|
|
|
|
var myArray = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];
|
|
|
|
|
|
|
|
// Only change code below this line
|
|
|
|
var myData = myArray[0][0];
|
|
|
|
```
|
|
|
|
|
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
|
|
|
|
var myArray = [[1,2,3],[4,5,6], [7,8,9], [[10,11,12], 13, 14]];
|
|
|
|
var myData = myArray[2][1];
|
|
|
|
```
|