Javascript 将具有一个键和多个值的数组映射到新对象中具有相同值实例的新对象
这就是我现在得到的结果,它返回一个包含所有对象的数组,如下面的“整个对象”:Javascript 将具有一个键和多个值的数组映射到新对象中具有相同值实例的新对象,javascript,arrays,mapping,Javascript,Arrays,Mapping,这就是我现在得到的结果,它返回一个包含所有对象的数组,如下面的“整个对象”: let unique = getFromDb().then(values => values.map(value => value)) 整个对象: 0: blob: Blob {size: 21481, type: "image/png"} group: "2020-10-06T07:51:18.816Z" key: "https://opencache.
let unique = getFromDb().then(values => values.map(value => value))
整个对象:
0:
blob: Blob {size: 21481, type: "image/png"}
group: "2020-10-06T07:51:18.816Z"
key: "https://opencache.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom=19&x=270507&y=155468"
timestamp: "2020-10-6 9:51:18"
url: "https://opencache3.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom=19&x=270507&y=155468"
urlTemplate: "https://{s}.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom={z}&x={x}&y={y}"
x: 270507
y: 155468
z: 19
如何将组映射到具有相同组值的所有值的新数组?
例如:
0:组:“foo”
1:组:“foo”
第2组:“酒吧”
应该是:mappedArr=group[{'foo','foo'},{'bar'})
重要的是,调用mappedar时,我可以从整个对象访问属性
它的使用方式如下:
组别:富
- url第一个对象
- url第二个对象
- url第一个对象
const数据=[{
小组:"富",,
url:“url 1”
}, {
小组:"富",,
url:“url 2”
},{
组:“酒吧”,
url:“url 3”
},{
小组:"富",,
url:“url 4”
}];
const groupArr=(arr)=>{
return Object.values(//从所有值中获取数组
arr.reduce((acc,el)=>{//reduce为一个对象,组作为键,单个项作为值数组
如果(附件[el.group]==null)
acc[el.group]=[el];
其他的
acc[el.group].推送(el);
返回acc;
}, {})
)
}
console.log(groupArr(data));
仅供参考:values.map(value=>value)
等于值
我意识到,试图修正我的承诺,使其实际返回数据而不返回我的承诺:这是一个完全不同的问题。我建议您阅读以下内容:。对于您的问题,我在下面发布了一个答案,您的答案正是我想要的!谢谢。没有问题:-)