Eri*_*ard 2 javascript arrays return-value console.log
这是我的代码,我在返回的消息中的名字之间有逗号
CodePen:Celebrity Name Revealer
var MarilynMonroe=["Norma", "Jean", "Mortensen"];
var WoodyAllen=["Allen", "Konigsberg"];
var MegRyan=["Margaret", "Mary", "Emily", "Anne Hyra"];
function nameMaker () {
msg = "The name is ";
for (i=0; i<arguments.length; i++){
msg += arguments[i] + " ";
}
return(msg);
}
console.log(nameMaker(MarilynMonroe));
console.log(nameMaker(WoodyAllen));
console.log(nameMaker(MegRyan));
Run Code Online (Sandbox Code Playgroud)
我希望它们之间有一个空格,但是如果你改变了我添加的字符串中的空格,我们就会发出一个感叹号,你会看到它只是将它附加到整个短语的末尾,这也让我感到困惑.
我创建了一个代码笔.
CodePen:Celebrity Name Revealer
我最终得到了以下解决方案:
var MarilynMonroe=["Norma", "Jean", "Mortensen"];
var WoodyAllen=["Allen", "Konigsberg"];
var MegRyan=["Margaret", "Mary", "Emily", "Anne Hyra"];
function nameRevealer (names) {
msg = "This celebrity's real name is ";
for (i=0; i<names.length; i++){
msg += names[i] + " ";
}
return(msg);
}
console.log(nameMaker(MarilynMonroe));
console.log(nameMaker(WoodyAllen));
console.log(nameMaker(MegRyan));
Run Code Online (Sandbox Code Playgroud)
arguments在这种情况下,是一个数组数组(只有一个项目).要解决此问题,请重新定义nameMaker:
var nameMaker = function(names) {
return 'The name is ' + names.join(' ');
};
Run Code Online (Sandbox Code Playgroud)
另外,关于您的代码的一些其他反馈: