使用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,它已经是一个对象了,你可以用一个映射添加属性。