1
我使用离子2火力地堡3和I有一个返回连键和值的JSON的读取方法,这是结构将数组中的对象推入其数组中?
{
"1475323200" : {
"-KfNUUZf9ehNdVSCiBO": {
"date": 1489690818,
"msg": "Mussum Ipsum",
"title": "Pagamentos"
}
},
"1478001600": {
"-KfNUUZf9ehNdVSCiBO": {
"date": 1489690818,
"msg": "Mussum Ipsum",
"title": "Pagamentos"
}
}
}
的一部分,这是我现在还是什么有代码我正在努力去做。我将解释它
ionViewWillLoad() {
firebase.database().ref('Administrative/Informs').on('value', snap => {
if (snap.val() != null) {
let data = snap.val(); //will be an object
this.organizer(data).then(res => {
console.log(this.informs);
})
} else {
this.noInforms == true;
}
});
}
organizer = (data: any): Promise<boolean> => {
for (var i = Object.keys(data).length; i > 0; i--) {
this.informs.push(data[i]);
}
return new Promise<boolean>(res => {
res(true);
})
}
上火力点的“价值”查询返回我的升序格式的密钥之后,但在按键later'll与momentJS可以使用一个月来informatives分开,但我必须使用那么所以从实际月份去保存了最新的降格式,现在它的2016/dec > 2017/jan > 2017/feb > ...
,我需要2017/mar > 2017/feb > 2017/jan > ...
我尝试这样的方式来实现这一目标:
- 使用
this.informs = Object.keys(snap.val()).reverse();
|它仅保存密钥和更6个或7未定义字段 - 使用对内部进行,像
for(key in snap.val()){ this.informs.push(key)}
和其他用于推动所有值的新对象内,然后它归因像this.informs[key] = values;
- 推对象内部
this.informs[key]
内部。 - 获取值
child_added
,但它返回给我的每个孩子没有我将用来获取月份的密钥。
那么,如何将同一个对象保存在一个数组中但是通过第一个键反转?正弦我会用它在* ngFor我需要它是一个具有长度参数的数组。
我有点困惑现在。数据(发送给这个组织者的数据是一个数组还是一个对象?因为使用Object.keys().length',一个数字然后使用'data [i] '所以如果数据是一个数组,为什么要使用Object.keys?如果数据是一个对象,你的意思是使用'data [Object.keys(data)[i]]'来选择记录吗?或者我在这里丢失了什么? – Shilly
@Shilly哦,对不起,因为我的代码不是英文的,我决定翻译它,所以我更好的让人们理解。 –