Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数组未创建数组_Javascript_Arrays - Fatal编程技术网

Javascript数组未创建数组

Javascript数组未创建数组,javascript,arrays,Javascript,Arrays,我有一个包含项目的数组,我想根据第一个字母对它们进行分组,但当我将项目推送到数组时,它会显示空的“array[0]”,而其中显然有项目 显然我做错了什么,但我不知道是什么 var组=[]; var alphabetArray='ABCDEFGHIJKLMNOPQRSTUVWXYZ'。拆分(“”); alphabetArray.forEach(函数(字母){ 组[字母]=组[字母]| |[]; 组[字母]。推送({ 关键:信, 信 }); }); 控制台日志(组)数组设计用于保存一组有序的数据,

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

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

var组=[];
var alphabetArray='ABCDEFGHIJKLMNOPQRSTUVWXYZ'。拆分(“”);
alphabetArray.forEach(函数(字母){
组[字母]=组[字母]| |[];
组[字母]。推送({
关键:信,
信
});
});

控制台日志(组)数组设计用于保存一组有序的数据,这些数据由属性名表示,属性名是整数

您正在分配的属性名称为字母

数组不是为保存此类数据而设计的,
console.log
不会显示数组的那些属性



不要使用数组。使用一个对象。对象被设计用来保存具有任意属性名称的无序数据。如果顺序很重要,那么您可能希望改用数组。

您希望创建一个对象而不是数组。将[]更改为{}

数组需要使用int作为索引,对象可以使用字符串

var-group={};//对象而不是数组
var alphabetArray='ABCDEFGHIJKLMNOPQRSTUVWXYZ'。拆分(“”);
alphabetArray.forEach(函数(字母){
组[字母]=组[字母]| |[];
组[字母]。推送({
关键:信,
信
});
});

控制台日志(组)我猜您希望将每个字母转换为结构。如果是这样,您需要
数组.map

var alphabetArray='ABCDEFGHIJKLMNOPQRSTUVWXYZ'。拆分(“”);
var group=alphabetArray.map(函数(字母){
返回{
[信]:信
};
});

控制台日志(组)“按第一个字母分组”-你的意思是什么?某种排序?原始数组是一个包含用户数据的数组。请提供输入字符串
AB
的预期结果,仅针对前两个字符。我仍然不知道你到底在寻找什么。当我想用ngForYou在Angular 2中迭代它的时候,你真的应该提到,在这个问题上,名称不是整数(因为它们不是数字),而是足够接近的。它们是由一系列数字组成的字符串,这些数字以标准格式表示一个整数,其数值
i
+0范围内≤ i<2^32-1
:-)