4

ここで検索しました: http://w3schools.com/jsref/default.aspしかし、この機能を実行する便利な方法が見つかりませんでした。array がある場合var arrayOfStrings = ["20","10","30","100"]、この配列内の各文字列からすべての引用符 (") をループせずに削除する簡単な方法はありますか?

私は本質的にこれを作成したい:var arrayOfNumbers = [20,10,30,100]

ありがとう

4

4 に答える 4

16

数値変換が必要な場合は、次のようにすることができます...

var arrayOfNumbers = arrayOfStrings.map(Number);

この.map()メソッドは、指定した関数の戻り値が入力された新しい配列を作成します。

組み込みNumber関数は与えられた最初の引数を取り、プリミティブ数に変換するため、 のコールバックとして非常に便利です.map()。16 進数表記を有効な数値として解釈することに注意してください。


コールバックと同じことを行う別の組み込み関数はparseFloat.

var arrayOfNumbers = arrayOfStrings.map(parseFloat)

ただし、各メンバーの現在のインデックスもコールバックに渡し、その番号を基数パラメーターとして使用しようとするため、このparseInt関数は機能しません。.map()parseInt



デモ: http://jsfiddle.net/UDWvH/

[
    20,
    10,
    30,
    100
]
于 2012-08-02T17:23:45.930 に答える
4

次のように試すことができます:

for(var i = 0; i < myArray.length; i++)
{
    myArray[i] = parseInt(myArray[i], 10);
}

parseInt 関数を見てください。

于 2012-08-02T17:11:48.290 に答える
0

JSON.parseをサポートするブラウザーの場合:

var arr = ["20","10","30","100"];
var newArr = JSON.parse("[" + arr.join() + "]");
console.log(typeof arr[0]);  //string
console.log(typeof newArr[0]);  //number
于 2012-08-02T17:30:47.703 に答える
-3

何もする必要はありません。JavaScript の二重引用符は、その中のデータが文字列であることを示す識別子です。これは、それらが配列またはデータ自体の一部ではないことを意味します。

標準の For ループを使用してループできます。

于 2012-08-02T17:12:34.243 に答える