我的問題:
我寫一個腳本位的,將閱讀頁面的引用URL,並檢查它從何而來,即谷歌,必應等。現在我知道我可以做一個document.referrer.search('google');
但我不想這樣做,因爲從數組或對象中讀取值是有意義的。我已經創建了具有我正在尋找的項和屬性名稱如下的對象:
var searchProviders = {
"google": "google.com",
"bing": "bing.com",
"msn": "search.msn",
"yahoo": "yahoo.co",
"mywebsearch": "mywebsearch.com",
"aol": "search.aol.co",
"baidu": "baidu.co",
"yandex": "yandex.com"
};
現在,我想知道的是,我可以通過這個對象進行迭代,並做了document.referrer.search(searchProviders[0])
,然後返回屬性名稱?所以例如如果它包含,google.com
我希望它返回google
?我希望返回此術語(而不是搜索術語)的原因是因爲此值需要稍後使用。
我記得在上面發佈的問題中閱讀,你只能使用foreach
語句遍歷一個對象 - 有沒有另外一種方法來做到這一點?當然,如果我可以使用foreach
語句,但是我希望語句在發現正確的值時中斷(因此我爲什麼要使用if
)。
所以我有點卡住了什麼是最好的方法。任何幫助將不勝感激,希望我已經解釋了一切 - 如果不是,請告訴我,我會更新我的問題。
謝謝 - 會給這個去。我不知道你可以使用這樣的for循環。每天都是學生! :) – zik 2011-12-14 12:41:02
感謝您的編輯,傑森。太過習慣Node.js(隱含地這樣做),我想。 – 2011-12-14 14:23:08