0

我对stackoverflow相对较新,并且已经搜索了一段时间来回答我的问题。我发现了一些像这样的链接How to split a comma-separated string? 但仍然不能完全理解我在使用我的简短的小 javascript 程序时做错了什么。

无论如何它是。帮助将不胜感激。

我基本上是在尝试创建一个提示,要求用户输入 3 个用逗号分隔的数字,然后将该字符串更改为一个数组,以便稍后将这些值相乘。到目前为止,当我尝试 console.log 时,我的结果如下: 1,2 它没有打印出第三个数字(用户输入的第三个数字)。

var entry = prompt("Triangle side lengths in cm (number,number,number):")
if(entry!=null && entry!="") {
entryArray = entry.split(",");


for (i=0; i<3; i++)
{
entryArray[i] = entry.charAt([i]);
}
}
console.log(entryArray[0] + entryArray[1] + entryArray[2]);
4

4 回答 4

1

拆分已经创建了一个数组。所以,如果你输入 1,2,3,当你拆分它时,你会得到一个这样的数组:["1", "2", "3"]. 在您的for循环中,您从原始输入中获​​取字符,而不是您的数组。为了添加它们,您需要将输入更改为数字,因为它们被视为字符串。所以你的for循环应该是这样的:

for (i=0; i<3; i++)
{
    entryArray[i] = parseFloat(entryArray[i]);
}

用数字覆盖字符串。

于 2013-07-10T06:25:49.347 回答
0

尝试

for (i=0; i<3; i++)
{
    entryArray.push(parseInt(entryArray[i]);
}
于 2013-07-10T06:24:45.910 回答
0

试试这段代码,我删除了覆盖数组的循环。

var entry = prompt("Triangle side lengths in cm (number,number,number):");
if(entry!=null && entry!="") {
    entryArray = entry.split(",");
    console.log(entryArray[0] + entryArray[1] + entryArray[2]);
    }
于 2013-07-10T06:27:47.353 回答
0

你可以去掉for的body。像这样:

var entry = prompt("Triangle side lengths in cm (number,number,number):")
console.log(entry);
if(entry!=null && entry!="") {
entryArray = entry.split(",");
console.log(entryArray);
}

console.log(entryArray[0] + entryArray[1] + entryArray[2]);
于 2013-07-10T06:28:55.243 回答