我有一个代码:
var ref = firebase.database().ref('names');
let objs = [];
ref.once('value').then((snap) => {
objs.push(snap.val());
console.log('before ', objs);
if(snap.val() == null){
objs = [{'111': 4444}];
ref.set(objs[0]);
}else if(snap.val()[0] == undefined){
objs.push({'222': 5466});
ref.set(objs);
}else{
objs[0].push({'333': 66776});
ref.set(objs[0]);
}
console.log('after ', objs);
//at the beginning 'names' dosen't exist at all
//before [ null ]
//after [ { '111': 4444 } ]
//before [ { '111': 4444 } ]
//after [ { '111': 4444 }, { '222': 5466 } ]
//before [ [ { '111': 4444 }, { '222': 5466 } ] ]
//after [ [ { '111': 4444 }, { '222': 5466 }, { '333': 66776 } ] ]
});

一开始'名称' dosen存在,如何正确检查这种情况? 可以比我的prinetd更好地添加对象。 请帮助,如果可以,请重构 感谢