我将数组传递给Worklight适配器,我无法检索数组中的值。
在我的-impl.js文件中,我创建了一个类似的函数:
function getlist(list) {
...
}
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是第一个输出,很好。但是,list.arr是第二个,它表示未定义。为什么list.arr未定义?
不知道出了什么问题。
WL verison:6.0.0.20130614-0631
答案 0 :(得分:1)
您的列表参数是一个数组。但是,WL.Logger。*()的输出必须始终是一个对象(由底层JS引擎强制执行)。因此,您的数组将转换为对象以进行日志记录。例如。如果您的列表对象是
[1,2,3]
WL.Logger.debug(列表)将是
{arr:[1,2,3]}
原始对象未被修改,它将保持为数组。您仍然可以使用列表[0],列表[1]等获取元素。