我在FreeCodeCamp上,我需要构建一个“疯子”风格的文字游戏(我们称其为“单词空白”。我必须创建一个“填充空白”风格的句子。
在“疯子”游戏中,将为您提供一些缺少单词的句子,例如名词,动词,形容词和副词。然后,以使完整句子有意义的方式,用您选择的单词填充缺失的部分。
考虑一下这句话-“确实是____,而我们____是我们____”。这句话缺少三个部分-形容词,动词和副词,我们可以添加自己选择的单词来完成它。然后,我们可以将完成的句子分配给变量,如下所示:
var句子=“真的” +“热” +“,然后我们” +“笑” +“我们自己” +“傻”。
根据上述说明,为我提供了一个名词,动词,形容词和副词。我需要使用选择的单词以及所提供的单词来构成一个完整的句子。
我将需要使用字符串连接运算符+通过提供的变量myNoun,myAdjective,myVerb和myAdverb来构建新的字符串。然后,我将形成的字符串分配给结果变量。
我还需要考虑字符串中的空格,以便最后一句话在所有单词之间都有空格。结果应该是完整的句子。
现在,我编写了以下代码来完成上面的练习:
function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {
var myNoun = "___";
var myAdjective = "___";
var myVerb = "___";
var myAdverb = "___";
var result = "my " + myAdjective + myNoun + "loves to " + myVerb + "very "
+ myAdverb;
return result;
}
wordBlanks("dog", "big", "ran", "quickly");
wordBlanks ();
但是运行测试时出现以下错误:
///运行测试wordBlanks(“ dog”,“ big”,“ ran”,“ quickly”) 包含所有以非单词字符分隔的传入单词 (以及madlib中的其他任何单词)。 wordBlanks(“ cat”,“ little”, “ hit”,“ slowly”)应该包含所有传递的单词 非单词字符(以及madlib中的其他任何单词)。 // 测试完成
“所有通过非单词字符(以及madlib中的其他单词)分隔的所有传入单词”应该在这里吗?
编辑
我相应地修改了以下代码,并且现在可以使用。测试失败是因为变量中提供的单词必须用不同的单词替换,并且因为函数中的 var 结果缺少其他单词和空格--->
function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {
// Your code below this line
var result = "I have a " + myAdjective + " bed and the " + myNoun + " always " + myVerb + " very " + myAdverb;
// Your code above this line
return result;
}
// Change the words here to test your function
wordBlanks("cat", "little", "hit", "slowly");
因此,缺少的“非单词”字符是句子的空格和其他部分(我添加了以下内容以及提供的单词:“我有一个”,“床”和“,”,“始终”和“非常”)。
答案 0 :(得分:1)
这可能是问题所在:myAdjective + myNoun
请注意,它们之间没有空格。尝试更改为myAdjective + " " + myNoun
,看看是否可行。
答案 1 :(得分:1)
听起来好像测试正在检查输出字符串以验证它包含每个传入的单词,并还验证它们是否被某些东西分隔开,例如空格,标点符号和其他词语。
失败,因为您正在使用"___"
覆盖每个输入。因此输入的单词会丢失,并且不会变成输出的句子。
答案 2 :(得分:1)
我认为您忘记在形容词,名词和动词之后添加空格
答案 3 :(得分:1)
var myNoun = "dog";
var myAdjective = "big";
var myVerb = "ran";
var myAdverb = "quickly";
var wordBlanks = myNoun + " " + myVerb + " " + myAdjective + " "+ myAdverb + " " ;
试试这个,行得通!
答案 4 :(得分:0)
我猜你忘了在单词之间放置空格,并在句子末尾使用句号。
var myNoun = "dog";
var myAdjective = "big";
var myVerb = "ran";
var myAdverb = "quickly";
// Only change code below this line
var wordBlanks = "My " + myAdjective + " " + myNoun + " " + myVerb + " " + myAdverb + "."; // Change this line
// Only change code above this line