gpt4 book ai didi

javascript - 为什么我的返回值中出现逗号? JavaScript 名人姓名揭晓器

转载 作者:行者123 更新时间:2023-12-02 14:45:48 25 4
gpt4 key购买 nike

这是我的代码,在返回的消息中我的名字之间有逗号

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));

我希望它们之间有一个空格,但是如果你更改我添加的字符串中的空格,让我们说一个感叹号,你会发现它只是将其附加到整个短语的末尾,这让我感到困惑出色地。

我已经创建了一支编码笔。

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));

最佳答案

在本例中,arguments 是一个数组数组(只有一项)。要解决此问题,请重新定义 nameMaker:

var nameMaker = function(names) {
return 'The name is ' + names.join(' ');
};

此外,有关您的代码的一些其他反馈:

  1. 您应该始终使用“var”声明变量;您定义“msg”和“i”的方式导致它们成为全局变量,因为您不使用“var”。
  2. 通过重复迭代构造字符串时,使用列表作为构建器然后使用“join”函数通常会更快(但是,如果您仅连接少量固定数量的字符串,则可以简单地使用“+”;但是,如果您在 for 循环中执行 +=,请切换到“push”和“join”)。

关于javascript - 为什么我的返回值中出现逗号? JavaScript 名人姓名揭晓器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com