2017-06-01 13 views
0

下の配列から数値のみを取得しようとすると「toString 'to undefined」プロパティを読み取ることができません。私は出力が適切に与えられているが、私はこのエラーが発生し、コードは失敗します。 混在した文字列からの整数値の取り出し

var array=['~ 9 view passages','~ 17 view passages','~ 1 view passages','~ 3 view passages','~ 4 view passages','~ 1 view passages']; 
    for (var i=0;i<=array.length;i++){ 
    var Arraystring=array[i].toString(); 
    var temp1 = Arraystring.replace(" view passages",""); 
    var temp2 = temp1.replace("~",""); 
    var temp3=parseInt(temp2); 
    console.log("String converted Array "+Arraystring); 
    console.log("Stripped Array "+temp2); 
    console.log("Integer Array "+temp3); 
    } 

エラー

: は未定義

+0

ための使用(VAR I = 0; I binariedMe

+0

はおそらくあなたの配列の長さは、必ずしも11 – binariedMe

+1

平等を削除してくださいし、厳密に記述しないための:(VARをI = 0; i binariedMe

答えて

2

のプロパティ 'のtoStringを' あなたが代わりに<= array.length< array.lengthを使用する必要があります読み取ることができません。

現在、範囲外の値を解析しているため、toString()関数を呼び出すことはできません。

var array = ['~ 9 view passages', '~ 17 view passages', '~ 1 view passages', '~ 3 view passages', '~ 4 view passages', '~ 1 view passages']; 
for (var i = 0; i < array.length; i++) { 
    var Arraystring = array[i].toString(); 
    var temp1 = Arraystring.replace(" view passages", ""); 
    var temp2 = temp1.replace("~", ""); 
    var temp3 = parseInt(temp2); 
    console.log("String converted Array " + Arraystring); 
    console.log("Stripped Array " + temp2); 
    console.log("Integer Array " + temp3); 
} 
+1

コメントをくれた人とは全く異なる答えはありません – Sagar

1

あなたの配列が唯一の5つの要素が含まれているこの方法を試してみてください。

しかし、要素が10個まで読み込もうとしているため、スクリプトが正常に動作してもエラーになります。

あなたのスクリプトを変更して配列の長さまで読んでください。

var array = ['~ 9 view passages', '~ 17 view passages', '~ 1 view passages', '~ 3 view passages', '~ 4 view passages', '~ 1 view passages']; 
 
for (var i = 0; i < array.length; i++) { 
 
    var Arraystring = array[i].toString(); 
 
    var temp1 = Arraystring.replace(" view passages", ""); 
 
    var temp2 = temp1.replace("~", ""); 
 
    var temp3 = parseInt(temp2); 
 
    console.log("String converted Array " + Arraystring); 
 
    console.log("Stripped Array " + temp2); 
 
    console.log("Integer Array " + temp3); 
 
}

関連する問題