我无法推入多暗阵列,我收到了错误
_this.fieldRefs [ID] .push不是函数
我的代码很简单,所以我想:
this.fieldRefs = this.fieldRefs || []; // init `this.fieldRefs` if it doesn't exist
this.fieldRefs.push(ID); // push the `ID` e.g `0`
this.fieldRefs[ID].push(ref); // add the `ref` to `0` (ref is an ele)
前两行正常工作,this.fieldRefs
包含ID
,例如:
this.fieldRefs = [0]
但最后一行是错误发生的地方。如果我检查this.fieldRefs[ID]
我确实得到0
但我无法推送到0
索引
答案 0 :(得分:3)
您要做的是分配与ID相关的引用数组。
因此,如果ID始终是一个数字,而不是将此值推送到现有数组,则最好在该ID定义的索引中初始化数组。像这样:
this.fieldRefs = this.fieldRefs || [];
this.fieldRefs[ID] = [];
this.fieldRefs[ID].push(ref).
您当前正在做的事情是不同的,因为您将ID的值存储在fieldRefs
数组中的连续索引上,但索引与ID值不匹配。