我下面的代码出现下面的错误提示?是哪里错了?

我下面的代码出现下面的错误提示?是哪里错了?我定义了var h=[],或者定义了var h0=[]都不行

img

    var h0 = []
for (let i = 0; i < this.a5.length; i++) { //this.a5.length代表该数组的下标
                        for (let k = 0; k < this.a6.length; k++) { //this.a5.length代表该数组的下标
                            if (this.a6[k].zid == this.a5[i].id) {
                                h[i] = []
                                this.h[i] = [...this.h[i], this.a6[k]]
                            }
                        }
                    }
                    // this.h0 = this.a6
                    console.log(this.h0)

var h0 = []改成var h = {}

 var h = {};
for (let i = 0; i < this.a5.length; i++) { //this.a5.length代表该数组的下标
for (let k = 0; k < this.a6.length; k++) { //this.a5.length代表该数组的下标
if (this.a6[k].zid == this.a5[i].id) {
if(h[i]){
//h[i]存储过了,将数据放入数组
h[i].push(this.a6[k])
}else{
//h[i]没存储过,初始化成数组,并放入数据
h[i] = [this.a6[k]]
}
}
}
}
// this.h0 = this.a6
console.log(h);
//将对象的value值转换成数组
console.log(Object.keys(h));

你的h声明了吗