新的 javascript 学生在这里寻找一点澄清。我不断遇到涉及 For 循环/数组的问题。我对这些概念不够熟悉,无法诊断我自己的问题。我开始使用的在线迷你类(class)的示例有限,并且包含更复杂的练习题(我认为这很棒!我不介意挖掘答案)。我尝试在谷歌上寻求帮助,但似乎找不到任何可以解释我做错了什么的东西。如果有人可以看下面的内容并阐明我在哪里犯错以及为什么犯错,我将不胜感激。
下面是带有说明的练习:
function wordsToSentence(words) {
//words是一个字符串数组 //返回一个由所有单词连接在一起的字符串 //每个单词之间需要有空格 //示例:['Hello', 'world!'] -> 'Hello world!'
这是我为满足测试(一直失败)而输入的代码:
function wordsToSentence(words) {
for (var i = 0; i < words.length; i++) {
words[i] + ' ';
}
return words;
}
不仅仅是有人给我正确的代码,如果有人能分解我做错了什么以及如何做对,我真的很感激。提前致谢!
最佳答案
您实际上并没有添加单词。
首先在变量中声明一个空字符串。这将是您的基本字符串,现在当您遍历数组时,不断向该字符串附加一个空格和一个单词。然后返回字符串而不是数组。您可以在末尾使用 trim()
在返回字符串之前删除末尾或开头的任何多余空格。
function wordsToSentence(words) {
var sentence = ""; //empty string
for (var i = 0; i < words.length; i++) {
sentence += ' ' + words[i]; //add space and word to string
}
return sentence.trim(); //return the string formed
}
console.log(wordsToSentence(['this', 'is', 'a', 'sentence']));
关于javascript - 返回一个字符串,该字符串是所有单词连接在一起的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45744580/