Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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,如果我有一个包含对象数组的集合,是否可以为数组中的每个数组标记或添加一个键?例如: 将其转换为: var groups = [ [{year:"1986", key2: "foo2"}, {year:"1986", key2:"blah"}], [{year:"1987", key2: "baz"}, {year:"1987", key2:"beek"}], [{year:"1988", key2: "baz"}

如果我有一个包含对象数组的集合,是否可以为数组中的每个数组标记或添加一个键?例如:

将其转换为:

var groups = [
              [{year:"1986", key2: "foo2"}, {year:"1986", key2:"blah"}],
              [{year:"1987", key2: "baz"}, {year:"1987", key2:"beek"}],
              [{year:"1988", key2: "baz"}, {year:"1988", key2:"beek"}]
             ]
为此:

var groups = [
              a:[{year:"1986", key2: "foo2"}, {year:"1986", key2:"blah"}],
              b:[{year:"1987", key2: "baz"}, {year:"1987", key2:"beek"}],
              c:[{year:"1988", key2: "baz"}, {year:"1988", key2:"beek"}]
             ]

我的猜测是,只有当我把收藏变成某种对象时,这样的事情才可能发生。有什么想法吗?

您需要将它们放在一个对象中,才能通过键访问它们。您可以使用此功能将组转换为它

function convertGroup (groups) {
    var new_group = {};
    var count = 1;

    for (var row in groups) {
        new_group[count] = groups[row]
        count++;
    }

    return new_group
}
它将输出:

var groups = {
              1:[{year:"1986", key2: "foo2"}, {year:"1986", key2:"blah"}],
              2:[{year:"1987", key2: "baz"}, {year:"1987", key2:"beek"}],
              3:[{year:"1988", key2: "baz"}, {year:"1988", key2:"beek"}]
             }
//groups[1] = [{year:"1986", key2: "foo2"}, {year:"1986", key2:"blah"}]

JavaScript
数组
索引必须是整数。如果要为值指定描述性键,则必须使用对象或
HashMap

下面的代码将返回一个对象
{a:groups[0],b:groups[1],c:groups[2]}

var组=[
[{年份:“1986”,关键字2:“foo2”},{年份:“1986”,关键字2:“废话”},
[{年份:“1987”,键2:“baz”},{年份:“1987”,键2:“beek”},
[{年份:“1988”,关键字2:“baz”},{年份:“1988”,关键字2:“beek”}]
];
变量标签=[“a”、“b”、“c”];
组=组。减少((结果、组、索引)=>{
结果[标签[索引]]=组;
返回结果;
}, {});

控制台日志(组)否,您不能这样做,但您可以使用,0,1,2这是索引。。。或者把它作为一个对象,{}使用a,b,cIt,它已经是一个对象了,你可以用一个映射添加属性。