【发布时间】:2017-10-23 07:02:47
【问题描述】:
我正在使用 ionic2 (Angular2& typescript)。目前我正在研究一种匹配算法,如果找到匹配项,它会将结果推送到一个数组中,该数组也位于对象内部。但是,如果我返回上一页并尝试进行另一场比赛。它将显示上一场比赛的结果。因此,我希望能够在继续匹配部分之前清除数组/对象内的所有结果。到目前为止,我尝试使用 ionwillEnter ,它只是给了我一个空白页。我尝试将它放在构造函数中,但它不起作用。下面是代码
填充对象
constructor(public navCtrl: NavController, public navParams: NavParams,public testService: TestService,public cameraService: CameraService,public toastCtrl: ToastController,public auth : AuthProvider,af : AngularFire) {
this.objUser.length = 0; //trying to empty out all the elements/objects inside the array
var ref = firebase.database().ref('/user/'+ firebase.auth().currentUser.uid+'/profile/');
ref.on('value',
((data)=>{
var users = data.val();
var keys = Object.keys(users);
console.log(keys);
for(var y =0; y<keys.length; y++){
var x = keys[y];
this.objUser[y] = {userName:'', userAllergies:[], resultWarning:[], resultUnsafe:[]}; //dynamically create objects based on the y value
console.log(users[x].allergies);
this.objUser[y].userName = users[x].name;
this.objUser[y].userAllergies.push(users[x].allergies);
console.log('userAllergies',this.objUser[y].userAllergies);
console.log(this.objUser[y].userAllergies.length);
}
console.log(this.objUser);
console.log(this.objUser.length);
}),
this.errData);
}
因此,无论如何我可以删除数组中的所有元素并重新初始化我加载页面的所有内容吗?任何帮助将不胜感激!
【问题讨论】:
标签: javascript arrays object typescript ionic2