推进多维数组

时间:2017-02-03 10:47:51

标签: javascript arrays

我无法推入多暗阵列,我收到了错误

  

_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索引

1 个答案:

答案 0 :(得分:3)

您要做的是分配与ID相关的引用数组。

因此,如果ID始终是一个数字,而不是将此值推送到现有数组,则最好在该ID定义的索引中初始化数组。像这样:

this.fieldRefs = this.fieldRefs || []; 
this.fieldRefs[ID] = []; 
this.fieldRefs[ID].push(ref).

您当前正在做的事情是不同的,因为您将ID的值存储在fieldRefs数组中的连续索引上,但索引与ID值不匹配。