【问题标题】:jQuery, 'undefined' length of array of arrays?jQuery,数组数组的“未定义”长度?
【发布时间】:2012-10-16 14:44:08
【问题描述】:

我有这个数组结构:

mdarray = {
  '0001':{address:'add1',title:'title1'},
  '0002':{address:'add2',title:'title2'},
  '0003':{address:'add3',title:'title3'}
};

我希望仅在数组中有一个或多个项目时才使用它。通常使用数组我会使用if (mdarray.length > 0) {},但是当我使用上面的数组执行此操作时,mdarray.length 返回“未定义”。

这是因为它是一个数组数组吗?如果数组根目录中的项目有另一种方法可以非常简单地拉回数字?

还是因为键是字符串而不是整数?

我玩过不同的数组结构并阅读了多维数组,但我还没有找到答案。

【问题讨论】:

  • 不,这是因为这根本不是一个数组。这称为对象字面量
  • 那不是数组结构,那是Object结构,对象没有长度。

标签: jquery arrays multidimensional-array


【解决方案1】:

修改后的代码:您正在创建 Object 而不是 Array 您应该使用以下代码:see this thrad

mdarray = [
  {address:'add1',title:'title1'},
  {address:'add2',title:'title2'},
  {address:'add3',title:'title3'}
];

mdarray.length // 3

【讨论】:

  • 注意不是多维数组。它是一个对象数组。
  • @Sushil 好的,谢谢。我想我现在明白了这些差异,也感谢你的线程链接。
【解决方案2】:

这是一个对象,而不是一个数组。所以它没有长度!

【讨论】:

    猜你喜欢
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多