我对stackoverflow相对较新,并且已经搜索了一些时间来回答我的问题。我找到了一些这样的链接How to split a comma-separated string? 但仍然无法理解我的短篇小程序错误。
无论如何它是。帮助将不胜感激。
我基本上是在尝试创建一个提示,要求用户输入由逗号分隔的3个数字,然后将该字符串更改为数组,以便稍后可以将这些值相乘。到目前为止,当我尝试console.log时,我的结果如下:1,2 它不会打印出第三个数字(用户输入的第3个数字)。
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]);
答案 0 :(得分:1)
Split已经创建了一个数组。因此,如果输入1,2,3,则在拆分它时会得到这样的数组:["1", "2", "3"]
。在for
循环中,您将获取原始输入中的字符,而不是数组。为了添加它们,您需要将输入更改为数字,因为它们被视为字符串。因此,您的for
循环应如下所示:
for (i=0; i<3; i++)
{
entryArray[i] = parseFloat(entryArray[i]);
}
用数字覆盖字符串。
答案 1 :(得分:0)
尝试
for (i=0; i<3; i++)
{
entryArray.push(parseInt(entryArray[i]);
}
答案 2 :(得分: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]);
}
答案 3 :(得分:0)
你可以删除for.like的主体:
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]);