Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Mapping - Fatal编程技术网

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)
等于
我意识到,试图修正我的承诺,使其实际返回数据而不返回我的承诺:这是一个完全不同的问题。我建议您阅读以下内容:。对于您的问题,我在下面发布了一个答案,您的答案正是我想要的!谢谢。没有问题:-)