Javascript 切片拼接
Javascript slice concatenation
我需要将字符串向下移动 1 个索引,从而将索引 0 移到后面。
例如,将字符串“12345”转换为“23451”。下面的代码 有效 但我就是不明白 why/how。
return 语句如何记住将'345' 添加回字符串s
?不应该是 return 连接 '21' 吗?[=13=]
let s = "12345"
let rotate = (function (){
return s.slice(1) + s.slice(0,1);
})
console.log(rotate(s))
"Shouldn't it be returning the concatenation '21'?"
s.slice(1)
不是 return 索引 1
处的元素,而是 从索引 1
开始的所有内容 。因此,在您的情况下,它将代表 2345
并最终导致 23451
.
切片有两个参数。如果只有一个参数存在,它将 return 来自第一个索引的字符串(缺少之前的所有内容)。如果存在两个参数,它将 return 一个包含两个索引之间字符的字符串。对于此示例,它是第一个字符(从 0 到 1)。然后它只是将这两个部分加在一起并 returns 它。
您可以阅读有关 slice function on Mozilla Docs 的更多信息。
我需要将字符串向下移动 1 个索引,从而将索引 0 移到后面。
例如,将字符串“12345”转换为“23451”。下面的代码 有效 但我就是不明白 why/how。
return 语句如何记住将'345' 添加回字符串s
?不应该是 return 连接 '21' 吗?[=13=]
let s = "12345"
let rotate = (function (){
return s.slice(1) + s.slice(0,1);
})
console.log(rotate(s))
"Shouldn't it be returning the concatenation '21'?"
s.slice(1)
不是 return 索引 1
处的元素,而是 从索引 1
开始的所有内容 。因此,在您的情况下,它将代表 2345
并最终导致 23451
.
切片有两个参数。如果只有一个参数存在,它将 return 来自第一个索引的字符串(缺少之前的所有内容)。如果存在两个参数,它将 return 一个包含两个索引之间字符的字符串。对于此示例,它是第一个字符(从 0 到 1)。然后它只是将这两个部分加在一起并 returns 它。
您可以阅读有关 slice function on Mozilla Docs 的更多信息。