【问题标题】:Javascript slice concatenation [duplicate]Javascript切片连接[重复]
【发布时间】:2018-12-14 21:41:55
【问题描述】:

我需要将一个字符串向下移动 1 个索引,从而将索引 0 移到后面。

例如,将字符串“12345”转换为“23451”。下面的代码工作,但我只是不明白为什么/如何。

return 语句如何记住将“345”添加回字符串s?它不应该返回串联'21'吗?

let s = "12345"
let rotate = (function (){
    return s.slice(1) + s.slice(0,1);
})

console.log(rotate(s))

【问题讨论】:

    标签: javascript concatenation concat


    【解决方案1】:

    “它不应该返回串联'21'吗?”

    s.slice(1) 不返回索引1 处的元素,而是返回从索引1 开始的所有内容。因此,在您的情况下,它将代表2345,最终将导致23451

    【讨论】:

    • 2345,实际上。
    • @Amy 谢谢 :)
    • 非常有意义。谢谢!
    【解决方案2】:

    切片有两个参数。如果只存在一个参数,它将从第一个索引返回字符串(在此之前缺少所有内容)。如果存在两个参数,它将返回一个包含两个索引之间的字符的字符串。对于此示例,它是第一个字符(从 0 到 1)。然后它只是将这两个部分相加并返回。

    您可以阅读有关slice function on Mozilla Docs 的更多信息。

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 2016-03-27
      • 2020-04-17
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多