这就是我现在拥有的,它返回一个数组,其中包含所有对象,如下面的整个对象:
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: group:'foo‘1: group:'foo’2: group:'bar‘
应该是: mappedArr = group[{'foo','foo'},{'bar'})重要的是,在调用mappedArr时,我可以访问来自mappedArr整体对象的属性
它将像这样使用:
组: foo
object
组:酒吧
发布于 2020-10-06 12:54:00
你可以这样减少它:
const data = [{
group: "foo",
url: "url 1"
}, {
group: "foo",
url: "url 2"
},{
group: "bar",
url: "url 3"
},{
group: "foo",
url: "url 4"
}];
const groupArr = (arr) => {
return Object.values( // get array from all the values
arr.reduce((acc, el) => { // reduce to an object with the group as keys and the single items as value array
if(acc[el.group] == null)
acc[el.group] = [el];
else
acc[el.group].push(el);
return acc;
}, {})
)
}
console.log(groupArr(data));
https://stackoverflow.com/questions/64226095
复制相似问题