javascript - 如何按键合并两个对象数组
问题描述
我有两个 json 文件。一个包含州名、缩写和 ID(“Estados.json”)。另一个我有多个带有 ID、城市名称和相应州代码(“Cidades.json”)的对象。我想要做的是合并两个基于数组的数组,为每个州获取一个新密钥下的所有相应城市。
预期的输出是这样的:
[{
"ID": "1",
"Sigla": "AC",
"Nome": "Acre"
"Cidades":
{
"ID": 79,
"Nome": "Acrelândia",
"Estado": "1"},
{
"ID": "80",
"Nome": "Assis Brasil",
"Estado": "1"},
...,
{all the objects that have the same "Estado" key value 1}
}]
链接到两个 json 文件:https ://github.com/felipefdl/cidades-estados-brasil-json
解决方案
const j1 = `https://raw.githubusercontent.com/felipefdl/cidades-estados-brasil-json/master/Estados.json`;
const j2 = `https://raw.githubusercontent.com/felipefdl/cidades-estados-brasil-json/master/Cidades.json`;
(async () => {
const Estados = await ((await fetch(j1)).json());
const Cidades = await ((await fetch(j2)).json());
Estados.forEach(e => {
e.Cidades = Cidades.filter(c => e.ID === c.Estado);
});
console.log(Estados[0]);
// Estados now contains Cidades
})();
推荐阅读
- javascript - 如何删除使用“OR”比较器创建的复杂过滤器?
- python - 将时间格式从 2020 年 2 月 5 日 01:55 pm 转换为 2020-02-05 13:55:00 的最佳方法
- python - 无法加载动态库“cudart64_101.dll”;错误
- r - R geom_violin + geom_boxplot 图例问题
- c# - MailKit 电子邮件不会在 Gmail 上显示内嵌图像
- c# - 从底部滑动出现导航栏时如何隐藏BottomNavigationView?
- laravel - 为什么这个字段会自动改变
- java - GraalVM 性能
- java - Spring Boot JPA 一对多一次更新多个实体
- python - Python游戏图像文件结构