这是我的代码,在返回的消息中,我的名字之间出现逗号
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));
我希望它们之间能有一个空格,但是如果您更改添加到字符串中的空格,可以说一个感叹号,您会发现它只是将其附加到整个短语的末尾,这也使我感到困惑。
我已经创建了一支密码笔。
我为这个问题提供了以下解决方案:
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));
该arguments
变量是一个数组:要传递的阵列作为第一个参数。发生的事情是它正在迭代arguments
数组,并调用。每个名人的数组上的toString(),它会自动添加逗号。你想要的是迭代arguments[0]
。
就像是:
for (var i=0; i < arguments[0].length; i++) {
msg += arguments[0][i] + " ";
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句