2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: bd7123c9c549eddfaeb5bdef
|
|
|
|
|
challengeType: 1
|
2020-04-29 18:29:13 +08:00
|
|
|
|
videoUrl: 'https://scrimba.com/c/ca8JwhW'
|
|
|
|
|
forumTopicId: 18341
|
|
|
|
|
localeTitle: 使用方括号查找字符串中的第一个字符
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Description
|
2020-04-29 18:29:13 +08:00
|
|
|
|
<section id='description'>
|
|
|
|
|
方括号表示法是一种在字符串中的特定<code>index</code>(索引)处获取字符的方法。
|
|
|
|
|
大多数现代编程语言,如JavaScript,不同于人类从 1 开始计数。它们是从 0 开始计数,这被称为 <dfn>基于零</dfn> 的索引。
|
|
|
|
|
例如, 在单词 "Charles" 中索引 0 上的字符为 "C",所以在<code>var firstName = "Charles"</code>中,你可以使用<code>firstName[0]</code>来获得第一个位置上的字符。
|
|
|
|
|
</section>
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
## Instructions
|
2020-04-29 18:29:13 +08:00
|
|
|
|
<section id='instructions'>
|
|
|
|
|
使用方括号获取变量<code>lastName</code>中的第一个字符,并赋给变量<code>firstLetterOfLastName</code>。
|
|
|
|
|
<strong>提示</strong><br>如果你遇到困难了,不妨看看变量<code>firstLetterOfFirstName</code>是如何赋值的。
|
|
|
|
|
</section>
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
<section id='tests'>
|
|
|
|
|
|
|
|
|
|
```yml
|
|
|
|
|
tests:
|
2020-04-29 18:29:13 +08:00
|
|
|
|
- text: <code>firstLetterOfLastName</code>的值应该是<code>L</code>。
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(firstLetterOfLastName === 'L');
|
2020-04-29 18:29:13 +08:00
|
|
|
|
- text: 你应该使用中括号。
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(code.match(/firstLetterOfLastName\s*?=\s*?lastName\[.*?\]/));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Challenge Seed
|
|
|
|
|
<section id='challengeSeed'>
|
|
|
|
|
|
|
|
|
|
<div id='js-seed'>
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// Example
|
|
|
|
|
var firstLetterOfFirstName = "";
|
|
|
|
|
var firstName = "Ada";
|
|
|
|
|
|
|
|
|
|
firstLetterOfFirstName = firstName[0];
|
|
|
|
|
|
|
|
|
|
// Setup
|
|
|
|
|
var firstLetterOfLastName = "";
|
|
|
|
|
var lastName = "Lovelace";
|
|
|
|
|
|
|
|
|
|
// Only change code below this line
|
|
|
|
|
firstLetterOfLastName = lastName;
|
|
|
|
|
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### After Test
|
|
|
|
|
<div id='js-teardown'>
|
|
|
|
|
|
|
|
|
|
```js
|
2020-04-29 18:29:13 +08:00
|
|
|
|
(function(v){return v;})(firstLetterOfLastName);
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Solution
|
|
|
|
|
<section id='solution'>
|
|
|
|
|
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```js
|
2020-04-29 18:29:13 +08:00
|
|
|
|
var firstLetterOfLastName = "";
|
|
|
|
|
var lastName = "Lovelace";
|
|
|
|
|
|
|
|
|
|
// Only change code below this line
|
|
|
|
|
firstLetterOfLastName = lastName[0];
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
|
</section>
|