Firebase在我的node.js应用程序中表现得非常时髦,我不知道为什么。
例如,如果我有一个看起来像这样的变量:
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
一直到
i: 7581
,我只有13个项目,假设它正在记录那里的索引号,但没有,它应该随便吐出一个itemList
,上面的[{"id":1,"name":....
是它的值。我的firebase模块是
var Firebase = require("firebase");
var FirebaseTokenGenerator = require("firebase-token-generator");
最佳答案
我猜您的问题是您不了解如何正确访问AllItem对象。
访问一项
在您的问题中,您尝试通过AllItems[itemList]
来访问itemList。此处,itemList
被视为变量,即undefined
。并且AllItems[undefined]
是未定义的。
以下是两种访问方式:
var itemList = allItems['itemList'];
var itemList = allItems.itemList;
在itemLists上循环
我不知道你怎么去
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]);
}
关于javascript - Firebase在我的node.js应用中无法正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36589374/