JavaScript Array.length 返回 0

标签 javascript arrays

我有看起来像 enter image description here 的 javascript 数组

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

我在这里做错了什么?

最佳答案

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

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

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

关于JavaScript Array.length 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307213/

相关文章:

javascript - 仅当所有字段已满或加载后更改时才执行 jQuery

javascript - 如何使元素刷新后不可见

javascript - Cypress> 在对象数组中查找文本> 无法定位文本 :TypeError: $e1. find.contains 不是函数

c# - 如何将字符串添加到 string[] 数组?没有 .Add 功能

javascript - 解析类名末尾的数字?

javascript - 您如何使用 CSS3 或 JavaScript(文本溢出、 chop 等)裁剪多个 HTML 段落标记以适合大小明确的框?

javascript - KnockoutJS对象不支持 'toFixed'

c - 一次读取文件而不是逐行读取文件(在 c 中)

c# - 将数组值返回到列表框 (C#)

python - 将 N 维数组广播到 (N+1) 维数组并对除 1 维之外的所有维求和