Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在加载或重新加载页面时删除数组中的所有对象?_Javascript_Arrays_Object_Typescript_Ionic2 - Fatal编程技术网

Javascript 如何在加载或重新加载页面时删除数组中的所有对象?

Javascript 如何在加载或重新加载页面时删除数组中的所有对象?,javascript,arrays,object,typescript,ionic2,Javascript,Arrays,Object,Typescript,Ionic2,我使用的是ionic2(Angular2&typescript)。目前我正在研究一种匹配算法,如果找到匹配项,它将把结果推送到数组中,数组也在对象中。但是,如果我返回上一页并尝试进行另一次匹配,它将显示上一次匹配的结果。因此,我希望能够在继续进行匹配部分之前清除数组/对象中的所有结果。到目前为止,我尝试使用ionwillEnter,它只给了我一个空白页。我试着把它放在构造函数中,但它不起作用。下面是代码 填充对象 constructor(public navCtrl: NavController

我使用的是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);
  }
构造函数(public-navCtrl:NavController、public-navParams:navParams、public-testService:testService、public-cameraService:cameraService、public-toastCtrl:ToastController、public-auth:AuthProvider、af:AngularFire){
this.objUser.length=0;//尝试清空数组中的所有元素/对象
var ref=firebase.database().ref('/user/'+firebase.auth().currentUser.uid+'/profile/');
参考日期('值',
((数据)=>{
var users=data.val();
var keys=Object.keys(用户);
控制台日志(键);

for(var y=0;y“on”方法会因firebase节点中的每次更改(即编辑/添加/删除)而触发。因此,请尝试清除“on”方法内部而非外部的数组元素