2011-07-16 31 views
0

我是初學者和學生,我希望有人能幫助我。我有一個任務,我需要將程序分解爲3個功能。第一個取決於用戶的句子,第二個取決於每個單詞的長度將該句子轉換成新的「豬語言」,並且第三個將結果顯示在控制檯中。我已完成此程序的核心,但清理返回字符串時遇到問題。具體來說,一旦用戶完成了所有3個步驟,我不希望他們能夠進入程序的第三部分並再次看到結果。我希望他們必須回到起點。對不起,這麼多,但我不知道如何解釋它。
這裏是我的代碼:在函數處理後刪除字符串返回

function prog1(){ 
var userLang = prompt("Type in your sentence"); 
//If the user enters an empty string 
    if(userLang == ""){ 
     console.log("You must enter a sentence"); 
    } 
//If the user presses cancel 
    else if(userLang == null){ 
     wantToQuit = true; 
    } 
//If the user enters in a good string 
    else { 
     console.log("Thank you, now go to program 2"); 
     been2prog1 = true; 
     return userLang; 
    } 
} 

function prog2(){ 
//sets newLang = userLang and splits the string 
var newLang = prog1Lang.split(" "); 

//enters loop to find length of each split word 
var x = 0; 
for(x = 0; x < newLang.length; x++){ 

//if it's 5 or less words, add -oink  
    if ((newLang[x].length) <= 5){ 
     newLang[x] += "-oink"; 
    } 
//if it's more than 5 words, add -a 
    else { 
     newLang[x] += "-a"; 

    }  

} 
**newLang.join(" ");** 

//put the string back together 

console.log("String converted"); 
been2prog2 = true; 
return newLang; 
} 

function prog3(){ 
var endLang = prog2Lang; 
console.log(endLang); 
**delete prog2Lang;** 

} 

我在想「刪除」可能的工作,如上面看到的,但我沒有做任何事情,所有的一切。然後我在想布爾,但我不知道該怎麼做。任何幫助將非常感激。

最後一件事,我也被困在如何加入我的字符串回來。目前它將它作爲數組的一部分記錄在控制檯中,並用引號和逗號分隔每個單詞。我查了一下.join();我認爲它可以做到這一點,但它似乎也不起作用。我把它放在函數2中的if else語句中,但是當我這麼做的時候,它只是嚇壞了,所以在這個問題上的指針也非常值得讚賞。

謝謝!

回答

0

嘗試分配newLang.join本身..

newLang = newLang.join(" "); 
+0

謝謝!完美工作。我想用這個語法來解釋我的缺乏經驗。再次感謝! –

+0

樂於助人。 JavaScript中的Join方法不會將數組轉換爲串聯字符串,而是返回它從數組創建的所有新對象。所以你可以將它分配給任何變量。因爲你不再需要數組,所以將它分配給它自己並且新的sting對象替換數組是很好的。 –

+0

是的,現在你已經展示給我了。我發現自己現在已經停留了大約10個小時後,迷失了方向。 :) –

0

我不知道其他的什麼一點是,您在使用很麻煩,我有點糊塗了。

如果你正在嘗試做的是明確了一個字符串變量的話..

prog2Lang = null; 

or 

prog2Lang = ""; 

null是一個空對象,「」是一個空字符串。

那是你以後的樣子嗎?

+0

是的,我試圖通過第三個函數後清除字符串。我將上面的兩個例子都放到了第三個程序中,但都沒有成功。 –

+0

通過第三個函數後,我不希望用戶能夠再次將3放入主菜單中並獲得相同的結果,應該說您仍然需要輸入一個字符串。 –

+0

是否有任何意義? –