我為上述問題開發了一個邏輯,但我無法得到想要的結果......請有人幫助我......這是代碼......
function thirdOccurence(string){
var count = 0;
var i=0;
var result = 0;
while(i<string.length){
if(string[i]=='e' && string[i 1]=='f' && string[i 2]=='g')
{
count = count 1;
i 3;
if(count==3)
{
result = i 1;
break;
}
}
else
i ;
}
}*
這里的字串是輸入 - abcefgacefgabcceftyefghjklop - 輸出應該是20,因為我們需要找到位置。我有一個作業代碼,但邏輯不同。但我需要知道為什么這不起作用。
uj5u.com熱心網友回復:
問題是有可能與你遞增行i3變數:i = 3。這意味著您在最終條件之前向前跳了 3 個索引 if(count==3)。但是如果你i在這個最終條件之后增加3 - 一切都按預期作業:)
function thirdOccurence(string) {
var count = 0;
var i = 0;
var result = 0;
while (i < string.length) {
if (string[i] === "e" && string[i 1] === "f" && string[i 2] === "g") {
count = 1;
if (count === 3) {
result = i 1;
break;
}
i = 3;
} else {
i ;
}
}
return result
}
console.log('result should be 20:', thirdOccurence('abcefgacefgabcceftyefghjklop'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/361094.html
標籤:javascript
