【问题标题】:Is something wrong with the way JavaScript reads arrays?JavaScript 读取数组的方式有问题吗?
【发布时间】:2018-03-06 16:03:15
【问题描述】:

这里是新手。 我有代码:

var fanta = "Fantastic";
fanta.substring (0,4);

它打印结果:“Fant”,但它不应该是“Fanta”,因为数组从 0 开始? 我只是为此使用了 JavaScript 控制台。

【问题讨论】:

  • 你的字符串什么时候变成数组了?
  • 阅读documentation 总是有用的。 "indexEnd: ... 不包含在返回的子字符串中的第一个字符在字符串中的偏移量。"

标签: javascript arrays indexing


【解决方案1】:

根据docs,JavaScript中的substring()(startIndex, endIndex),参数分别为包含和排除。

所以子字符串将包含索引 0 但不包含索引 4。

【讨论】:

  • 酷酷的。 “芬达”是从索引 0 到 4,但是说 (0, 5) 会在索引 5 处停止它?
  • 是的。 "Fantastic".substring(0, 5) 将返回 Fanta。从索引 0 开始,到索引 5 - 1(所以 4)。
【解决方案2】:

第二个参数是返回子串的结尾,但不包含在返回中。见:https://www.w3schools.com/jsref/jsref_substring.asp

【讨论】:

    【解决方案3】:

    作为docs for substring state关于第二个参数:

    一个介于 0 和字符串长度之间的整数,它指定 偏移到第一个字符的字符串中,不包含在 返回子字符串。

    所以substring (0,4) 从第一个字符开始并抓取所有字符,直到但不包括位置 4 的字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      • 2016-09-13
      • 2017-06-23
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多