-1

この var_111、var_222、var_132、var_122bb のような JavaScript 変数のリストがあります。

アンダースコアの後の文字列はリモート サーバーからの応答であるため、事前に指定することはできません。

すべての var_* 変数を反復処理する for ループを実行したいと考えています。たとえば、すべての変数を console.log に記録します。

正規表現でできると思いますが、まだ学んでいません。誰かが助けてくれることを願っています!

4

1 に答える 1

1
str.match(/var_\d+/g).forEach(function(v)
{
    console.log(v); // v here is a variable such as var_111
});

以下の説明に基づいて、実際に起こっていることは、サーバーが名前を制御できない一連のグローバル変数を設定していると仮定すると、次のようになります。

for (var k in window)
   if (window.hasOwnProperty(k) && k.match(/^var_\d+$/))
      console.log(k)

これは、すべてのグローバル変数を反復処理し、それらを正規表現と比較して var_### 型のものを取得し、それらを出力します。で値を取得できますwindow[k]。これは、すべてのグローバル変数が実際にはwindowオブジェクトのプロパティであるため機能します。

于 2013-01-31T17:38:29.007 に答える