文字列値
答えて
JavaScriptは動的型言語です。つまり、配列項目が数字であることはそれほど重要ではない可能性があります。その場合は、あなただけsplit()
を使用して検討する必要があります
for (var i = 0, max = a.length; i < max; i++)
a[i] = +a[i];
があります:
var s = '1,1,2',
a = s.split(",");
彼らが数字だということが重要である場合は、あなたの最善の策は、その後、それらを反復することですECMAScript第5版のメソッドmap
でも、すべてのブラウザではまだ実装されていません。
文字列が数値であるかどうかを検証する必要がありますか、それとも有効であることを既に知っていますか? –
ありがとうございます。a [i] = parseInt(a [i])に 'a [i] = + a [i];を使用する利点はありますか? – xylar
@xylar: 'parseInt'の2番目の引数を指定しないと、数字が0から8進数として解析される可能性があります。 '+ a [i]'は 'Number(a [i])'と等価であり、数字が '0x'(16進数)で始まらない限り常に小数点として解析されます。ほとんどの場合、私はそれを使用しています:-) –
"1,2,3".split(",").map(Number);
そして、 map
を実装していないブラウザの場合は、ここからこのような実装をとってください:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map
Array.prototype.map
はECMAScript5にありますので、Array.prototype
を追加することを心配しないでください。
+1 'map'のアイデア - 互換性の実装は標準ループと比べて少し遅いでしょう。 –
ループとラップされたループの違いは無視できます。 – kirilloid
データが安全である場合.eval()
を使用できます。
var a = eval('[' + s + ']');
セキュリティが不明な場合は、JSON.parse
を使用できます。
var a = JSON.parse("[" + s + "]");
...ネイティブではサポートしていないブラウザにはパーサーを含める必要がありますが、
値のいずれかが無効な場合、構文エラーがスローされることを前もって警告します。 '1,2,3a、4'。ソースを信頼できるなら、私は 'JSON.parse'アプローチがとても好きです。 –
@Andy E:良い点。これは、有効な数字が必要な場合に機能します。無効なものが見つかると、構文エラーが発生することがあります。これがどのように使用されるかによって、私は推測します。 :o) – user113716
- 1. 文字列値(テキスト)
- 2. 文字列の値と列挙型の文字列値の比較
- 3. キャスト文字列値は
- 4. sfValidatorの値==文字列
- 5. Oreillyサーブレット文字列値manupulation
- 6. 文字列値のjava.lang.NumberFormatException
- 7. フォーマット数値文字列は
- 8. C++の文字列の値が別の文字列の名前
- 9. 文字列の目的の文字列に値を渡す
- 10. Javascriptを列挙文字列値
- 11. 配列の文字列の値を
- 12. TreeMapのキー値を文字列配列
- 13. 文字列/ txtファイル内の文字列を置換する文字と数値に値を設定する
- 14. (文字、文字列、文字と数字)に変換するHEX値に
- 15. 文字列値をXmlの文字列配列に比較して返すAndroid
- 16. ブースト・スピリット:値ペアの文字列をマップ<文字列、文字列>に変換する方法
- 17. ストライピング文字列私はタイプの文字列から数値を抽出したい文字列 ストライピングの
- 18. のTrace.Write(文字列、文字列)とTrace.WriteLine(文字列、文字列)カテゴリ
- 19. ゴー、Golang:文字値としてアクセス文字列
- 20. Unicode文字は? MySQL SQLAlchemy(警告:不正な文字列値)
- 21. Ajaxレスポンスの文字列値の区切り文字
- 22. は、文字列、文字列配列マップ
- 23. 数値書式文字列:double to time
- 24. プロローグ内の文字列の値
- 25. 文字列とregExワイルドカード値の比較
- 26. リファレンスのUserControlクラスベースオフ文字列値
- 27. 文字列とオプション値の比較
- 28. json文字列としてjson値
- 29. VB6 16進数文字列 - リテラル値woes
- 30. 文字列と数値の比較 - Python
文字列配列の値を信頼するか、各値が数値であることを検証する必要がありますか? – jball
私はsplitを使ってparseIntを使って値を確認することを考えていましたが、 – xylar
値を信頼していれば、@Andy Eの答えの最初の部分の解は最も簡単で素早くなります。 – jball