【问题标题】:Jquery multidimensionnal array: can't convert undefined objectJquery多维数组:无法转换未定义的对象
【发布时间】:2012-09-01 10:52:09
【问题描述】:

我正在尝试使用自动增量 (listeFormatte.lenght) 填充我的数组,但它在 listeFormatte[listeFormatte.length][0] = cartArray[i][0]; 行中断并给出无法转换未定义对象错误。

cartArray[i][0] = "ensemble"

listeFormatte = "" (new array)

listeFormatte.length = 0

提前致谢。

var listeFormatte = new Array;

for(var i=0;i<cartArray.length;i++)
{
    if(cartArray[i][0] == "ensemble")
    {
        listeFormatte[listeFormatte.length] = [];
        listeFormatte[listeFormatte.length][0] = cartArray[i][0];
    }
}

编辑:什么是 imagemagick-convert 它与我正在做的事情无关,你为什么要用这样的东西编辑我的东西?

答案:所以当 listeFormatte[listeFormatte.length] = [];创建多维数组,它会引发 listeFormatte.lenght,这会导致“第二次使用”未定义,因为它现在是:listeFormatte [1] 而不是 [0]。所以我添加了一个变量来获取 listeFormatte.length。

【问题讨论】:

  • 没有 listeFormatte[listeFormatte.length] = [];
  • 我也尝试在 listeFormatte[listeFormatte.length] 上使用 push 并得到同样的错误

标签: jquery arrays object multidimensional-array undefined


【解决方案1】:

你考虑过 listeFormatte[listeFormatte.length] = new Array;

我以前从未见过 listeFormatte[listeFormatte.length] = []; 构造,如果没有类似的东西,您的 listeFormatte[listeFormatte.length] 未定义为数组,因此您不能使用 [0] 索引。

【讨论】:

  • 是的,我试过了,效果完全一样。很确定 = [] 只是 jquery 的另一种说法
  • 我才意识到问题出在哪里:在listeFormatte[listeFormatte.length] = [];这行执行之后,你认为listeFormatte.length的值是多少?
  • 哦,就是这样。谢谢您的帮助!我没有看到那是愚蠢的。
  • 我也是后来才注意到的,所以不要自责。
猜你喜欢
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 2016-11-28
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多