JavaScript函数接收两个字符串并返回n

JavaScript函数接收两个字符串并返回n,javascript,substring,logic,Javascript,Substring,Logic,我最近一直在努力完成这项挑战,但没有成功,我尝试了很多方法,但没有成功 由于某些原因,我无法完成下面的所有示例 如果有人能一步一步地帮助我,我将不胜感激 编写一个函数,该函数接收两个字符串并返回n,其中n为 等于我们应该移动第一个字符串的字符数 向前,以匹配第二个。例如,以字符串“疲劳”为例 还有“蒂格法”。在本例中,第一个字符串已旋转5 字符向前移动以生成第二个字符串,因此5将是 返回 如果第二个字符串不是第一个字符串的有效旋转,则 方法返回-1。规格转换差异(第一、第二)提供 匹配单词的旋转

我最近一直在努力完成这项挑战,但没有成功,我尝试了很多方法,但没有成功 由于某些原因,我无法完成下面的所有示例

如果有人能一步一步地帮助我,我将不胜感激

编写一个函数,该函数接收两个字符串并返回n,其中n为 等于我们应该移动第一个字符串的字符数 向前,以匹配第二个。例如,以字符串“疲劳”为例 还有“蒂格法”。在本例中,第一个字符串已旋转5 字符向前移动以生成第二个字符串,因此5将是 返回

如果第二个字符串不是第一个字符串的有效旋转,则 方法返回-1。规格转换差异(第一、第二)提供 匹配单词的旋转量

参数优先:字符串-要匹配的字

第二:要检查的字符串-单词

返回值Number-旋转次数,如果无效,则为零或-1

示例:

  • “咖啡”,“咖啡豆”=>2
  • “eecoff”,“coffee”=>4
  • “驼鹿”,“驼鹿”=>-1
  • “不是”和“tisn”=>2
  • “Esham”,“Esham”=>0
  • “狗”,“上帝”=>-1
函数移位差(第一、第二){
//将第二个字拆分为一个数组
//更容易操作
常数arr=[…秒];
//迭代数组
for(设i=0;i
let shiftedDiff=(f,s)=>{
设r=-1;
f、 分割('').forEach((e,i)=>{
f=f.substr(1)+e;
如果(f==s)r=f.length-(i+1)
})
返回r;
}
控制台日志(shiftedDiff(“coffee”、“eecoff”))
console.log(shiftedDiff(“eecoff”,“coffee”))
console.log(shiftedDiff(“moose”、“moose”))
log(shiftedDiff(“不是”,“tisn”))
console.log(shiftedDiff(“Esham”、“Esham”))
console.log(shiftedDiff(“狗”、“上帝”))
请告诉我们您的尝试