Удаление строки, возвращаемой после обработки функции - PullRequest
0 голосов
/ 17 июля 2011

Я начинающий и студент, и я надеюсь, что кто-нибудь может мне помочь. У меня есть задание, где мне нужно разбить программу на 3 функции. Первый получает предложение от пользователя, второй преобразует предложение в новый «свиной язык» в зависимости от длины каждого слова, а третий отображает результаты в консоли. У меня есть сердце этой программы, но у меня проблема с очисткой возвращаемой строки. В частности, после того, как пользователь прошел все 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 (); и я думал, что это сработает, но, похоже, это тоже не сработает. Я помещаю это в операторы if else в функции 2, но когда я это делаю, это просто пугает, поэтому указатели по этому вопросу также будут высоко оценены.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 17 июля 2011

Я не был уверен, с чем еще у вас возникли проблемы, я был немного смущен.

если все, что вы пытаетесь сделать, это очистить строковую переменную тогда ...1003 *

prog2Lang = null;

or 

prog2Lang = ""; 

null - это пустой объект, а "" - пустая строка.

Это то, что вы искали?

0 голосов
/ 17 июля 2011

Попробуйте назначить newLang.join себе ..

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