Javascript数组不创建数组

标签 javascript arrays

我有一个包含项目的数组,我想根据第一个字母对它们进行分组,但是当我将项目推送到数组时,它显示空的“Array[0]”,而其中显然有项目。

显然我做错了什么,但我不知道是什么。

var group = [];
var alphabetArray = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
alphabetArray.forEach(function(letter) {
  group[letter] = group[letter] || [];
  group[letter].push({
    key: letter,
    letter
  });
});
console.log(group);

最佳答案

数组旨在保存由整数属性名称表示的有序数据集

您分配的属性名称是字母

数组并非旨在保存此类数据,并且 console.log 不会显示数组的这些属性。


不要使用数组。使用一个物体。对象被设计为保存具有任意属性名称的无序数据。如果顺序很重要,那么您可能需要使用 Map相反。

关于Javascript数组不创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519680/

相关文章:

javascript - 有谁知道您是否可以在没有当前 URL 的情况下在 Google 获得 javascript 的 API key ?

javascript - 如何在 Underscore 模板中存储 JSON 数据?

python - 查找 3d numpy 数组中特定行的索引

javascript - 如何在 JavaScript 中解构对象数组

javascript - $(document).ready 重新加载页面时Javascript无法执行

javascript - 为什么javascript中的module.export函数中的变量被分配为 'this'

PHP 搜索多维数组的值

Android 轮阵列半工作

javascript - 使用特殊字符在 Javascript 中提取 JSON 值\"

javascript - 在 TypeScript 中声明一个数组