我有這樣 var_111,var_222,var_132,var_122bb JavaScript變量列表...JavaScript的正則表達式:提取變量
下劃線後面的字符串是從遠程服務器響應,所以我不能事先指定它們。
我想運行一個循環遍歷所有var_ *變量。例如console.log中的所有變量。
我想這可以用正則表達式來完成,但我真的還沒有學習它。希望有人能幫助!
我有這樣 var_111,var_222,var_132,var_122bb JavaScript變量列表...JavaScript的正則表達式:提取變量
下劃線後面的字符串是從遠程服務器響應,所以我不能事先指定它們。
我想運行一個循環遍歷所有var_ *變量。例如console.log中的所有變量。
我想這可以用正則表達式來完成,但我真的還沒有學習它。希望有人能幫助!
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
對象的屬性。
什麼是'str'? – Dancrumb
一個字符串,如'var str =「var_111,var_222,var_132,var_122bb」;'這就是你說你從服務器獲得的。 – Plynx
非常感謝你的代碼!但不幸的是,在獲取服務器響應之前,我並不知道var_之後的字符串,因此我無法事先指定var str。 – user2018232
這似乎是一個非常糟糕的主意。實際情況如何? – Ryan
*有*一堆變量 - 如果是這樣,如何/在哪裏?或*想要*一堆變量 - 如果,爲什麼? (Post context。) – 2013-01-31 17:39:08
你能告訴我們服務器響應的樣子嗎? – Dancrumb