0

我最近开始搞乱 javascript 并偶然发现了一些问题。

我允许我的用户将一系列由空格分隔的数字插入到文本字段中。我正在尝试从文本字段中读取字符串并将数字存储在数组中。但是,我不情愿地添加了那些0。我一遍又一遍地检查我的代码,但我找不到什么问题。

编码:

    function get_input(str)
    {
    var arr = [];
    var elem=0;
    for(var i=0,j=1; i<str.length ;i++,j++)
        {
            if (j == str.length) {elem += str[i];
            arr.push(elem);
            return arr;}
        else if (str[j]== " ")
            {
            elem *=10;
            elem +=str[i];
            arr.push(elem);
            elem=0;
            i++;
            j++
            }
        else
            {
            elem *=10;
            elem += str[i];

            }
    }
    return arr;
    }

例如对于输入:123 45 6,输出为:10203*405*06*

  • 我放*只是为了查看数组中的元素,

帮助将不胜感激。

4

1 回答 1

5
function get_input(str){

  var a = str.split(' ');

  for(var i = 0; i < a.length; i++){

    a[i] = parseFloat(a[i]);

  }

  return a;

}

分解

  • 使用该split方法,我们使用由' '(空格)分隔符分隔的字符串填充一个数组。
  • 然后我们循环遍历数组以将结果解析为数字。如果这不是必需的(即您对数字被表示为字符串感到满意),那么您不需要那个额外的步骤。
  • 然后我们返回数组。
于 2013-09-22T22:32:39.517 回答