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 に答える