JavaScript Array.length返回0

Ano*_*bie 2 javascript arrays

我有看起来像的JavaScript数组 在此处输入图片说明

问题是Object.mappings有3个元素清楚地打印在控制台中console.log(),但是当我尝试找到数组的长度时,它返回了0。我尝试对数组进行字符串化,它仅显示“ []”。

我在这里做错了什么?

小智 5

仅当数组包含与索引关联的元素时,才可以使用length属性。如果它是关联数组,则length属性将返回0。您可以使用以下代码自行计算元素:

function len(arr) {
  var count = 0;
  for (var k in arr) {
    if (arr.hasOwnProperty(k)) {
      count++;
    }
  }
  return count;
}
Run Code Online (Sandbox Code Playgroud)

然后您可以使用计算“映射”数组的元素 len(mappings)