2013-12-09 57 views
0

我將一個數組傳遞給Worklight適配器,並且無法檢索數組中的值。Worklight Javascript適配器:無法檢索作爲參數傳遞給適配器的數組值

裏面我-impl.js文件,我創建像一個函數:

function getlist(list) { 
    ... 
} 

名單是一個數組。在我的適配器中,我嘗試輸出值。

WL.Logger.info(list); 
WL.Logger.info(list.arr); 

它輸出,如:

[INFO ] { 
"arr": [ 
    { 
    "a": "...", 
    "b": "..." 
    }, 
    { 
    "a": "...", 
    "b": "..." 
    }, 
    { 
    "a": "...", 
    "b": "..." 
    }, 

    ] 
} [project test] 
[INFO ] undefined [project test] 

我只是不明白這一點。清單是第一個輸出,這很好。然而,list.arr是第二個,它說未定義。爲什麼list.arr未定義?

不知道什麼是錯的。

WL verison:6.0.0.20130614-0631

+0

元素我可能會被誤讀,但在我看來,該名單是不是一個數組,而是一個對象。大括號{}指定一個對象,而方括號[]指定一個數組。你可否確認?編輯:哦,沒關係,你說的列表作爲函數的參數。如果你記錄列表['arr']它是否工作? – isick

+0

什麼是typeof列表?數組是否被串行化? JSON.parse(list)返回什麼? –

回答

1

你的列表參數爲數組。但是,WL.Logger。*()的輸出必須始終是一個對象(由基礎JS引擎強制執行)。所以你的數組被轉換爲對象用於記錄目的。例如。如果您的列表對象是

[1,2,3]

的WL.Logger.debug(列表)將是

{ARR:[1,2,3]}

原始對象沒有被修改,它仍然是一個數組。你仍然可以得到列表[0],列表[1]等

相關問題