Firebase在我的node.js应用中表现得非常时髦,我不知道为什么。
例如,如果我的变量看起来像这样:
var points = new List<GLatLng> { new GLatLng(59.6919, 17.8582),new GLatLng(59.3030, 18.0395),new GLatLng(58.9789, 17.5341) };
var polyline = new GPolyline(points,"#ff0000",1);
我可以记录它并让它正确地吐出所有东西,但如果我尝试通过内部数组获取它,就像这样。
var AllItems= {"itemList":[{"id":1,"name":....}
返回var itemList = AllItems[itemList]
。
如果我尝试在这样的循环中一次吐出每一个:
undefined
它吐出这样的东西:
for(i in AllItems){
console.log('i: ',i)
}
一直到i: 0
i: 1
i: 2
i: 3
并且我只有13个项目,假设它在那里记录了索引号,但它不是,它应该只吐出那个i: 7581
上面的itemList
将是它的价值。
我的firebase模块是
[{"id":1,"name":....
答案 0 :(得分:1)
我想你的问题是你不明白如何正确访问你的AllItem对象。
在您的问题中,您尝试以AllItems[itemList]
方式访问itemList。在那里,itemList
被视为变量,即undefined
。 AllItems[undefined]
未定义。
以下是访问它的两种方法:
var itemList = allItems['itemList'];
var itemList = allItems.itemList;
我不知道你是如何到达i: 7581
的,但我就这样做了:
for(var key in allItems) {
console.log(allItems[key]);
}
这会记录allItems中的每个itemList。
我用我刚才解释的所有内容制作了一个小片段。
var allItems = {
"itemList": [{
"id": 1,
"name": "item1"
}, {
"id": 2,
"name": "item2"
}, {
"id": 2,
"name": "item2"
}]
};
// Log itemList (2 ways)
console.log(allItems['itemList']);
console.log(allItems.itemList);
var itemList = allItems.itemList;
// Log every item in itemList
itemList.forEach(function (item) {
console.log(item);
});
// Log every itemList in allItems
for(var key in allItems) {
console.log(allItems[key]);
}
&#13;