gpt4 book ai didi

javascript - 学习 JavaScript 的更智能方法 : Chapter 23 - Strings: Finding Segments

转载 作者:行者123 更新时间:2023-11-28 07:17:02 27 4
gpt4 key购买 nike

我正在学习《更智能的 JavaScript 学习方法》的章节和练习,第 23 章介绍了字符串:使用 indexOf 和 lastIndexOf 方法查找段。

在该示例中,第二个变量firstChar 被分配了包含字符串“World War II”的变量text 的值。目标是将字符串“World War II”替换为新字符串“the Second World War”。下面的代码完成了任务,但是我不明白第 3 行是如何工作的。我知道在这种情况下,indexOf 将返回该段第一次出现的值 0,但我不知道它如何删除“第二次世界大战”。我的问题是3号线运行如何?

0 var text = "World War II";
1 var firstChar = text.indexOf("World War II");
2 if (firstChar !== -1) {
3 text = text.slice(0, firstChar) + "the Second World War" + text.slice(firstChar + 12);
4 {

最佳答案

slice(start, end) 用于获取从指定起始索引到结束索引的子字符串。

因此,text.slice(0,firstChar)将返回从start=0到end=0的子字符串,因为firstChar的值为0。(这将返回空字符串)

现在,字符串“Second World War”将被添加到 null,使得 text = the Second World War

带有单个参数的 slice(start) 返回从“start”开始到字符串末尾的字符串。

对于这个例子,即使不写 text.slice(firstChar + 12),我们也会得到相同的结果,因为firstChar + 12 = 0 + 12 = 12,但原始字符串“World War”的总长度II"是 12,因此我们将得到一个空字符串。

但是假设“text”的初始值是text =“World War II was fatal”,即如果我们想要替换的字符串后面有一些文本,即: “World War II”,然后 text.slice(firstChar + 12) 行附加字符串的剩余部分,在本例中为“was fatal”,并且 text 的值变为,

text = second World War was deadly

关于javascript - 学习 JavaScript 的更智能方法 : Chapter 23 - Strings: Finding Segments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745033/

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