2014-11-25 22 views
2

我有一個數組,其中包含表示網頁表單域的結構。我的問題是如何輕鬆訪問數組中的數據以獲取我正在查找的值。在這種情況下,我試圖爲名稱爲「availableScreensCSV」的字段獲取值,現在我正在循環數組,如果key =「name」和「availableScreensCSV」,則獲取該值的數據。希望有一個更簡單的方法來做到這一點。下面是我的數組/結構是什麼樣子如何訪問數組中存儲的數據

array 

1 struct 
    NAME templateId 
    TYPE hidden 
    VALUE [empty string] 

2 struct 
    NAME useTestSystem 
    TYPE hidden 
    VALUE false 

3 struct 
    NAME availableScreensCSV 
    TYPE hidden 
    VALUE ICASR,ICADM,ICTQ1,ICTQA,ICTQB,ICTQ6,ICFGB 

4 struct 
    NAME ccna 
    TYPE hidden 
    VALUE IFX 

5 struct 
    NAME pon 
    TYPE hidden 
    VALUE I11192014013 

6 struct 
    NAME asr 
    TYPE hidden 
    VALUE 1432310020 

7 struct 
    NAME icsc 
    TYPE hidden 
    VALUE SW80 
+1

你可以發佈'''輸出的直截圖嗎? – 2014-11-25 06:36:37

回答

6

我的直覺反應是,「沒有你的數據是如何進入這陣?」如果這是一個表單後,你應該能夠按名稱來簡單地得到表單字段:form.availableScreensCSV - 但是,這取決於你的表格後

既然你忘了提及,我假設數組可能不總是以相同的順序,英寸WHI ch case循環是您唯一合理的選擇。有一些功能方法,如arrayFind具有內聯函數,但是這是循環頂部的一些語法糖。如果你只是在尋找更清晰,更易讀的代碼,那麼帶有內聯函數的arrayFind可能是一條可行的路。

如果您正在尋找性能最高的選項,那麼只要找到想要的元素,執行<cfbreak />的簡單循環將是最佳選擇。

+1

不,這是行不通的,因爲我沒有發佈表單,所以我無法訪問表單。我從遠程端獲得一個html頁面,並使用jsoup將所有輸入字段解析到一個擁有結構的數組中。每個結構都有一個名稱,類型和值域 – NoSoup4you 2014-11-25 00:47:36

+0

您使用jsoup解析頁面的事實是您問題的一個非常重要的部分,您應該將其包含在問題中。不過,我的第二和第三段仍然適用和正確。 – 2014-11-25 13:22:11

+0

亞當在這裏跟蹤。除非你的數組長度是數百,否則在這裏循環沒有真正可觀的懲罰。你已經通過檢索和解析html來支付罰金:) – 2014-11-25 15:38:40

相關問題