javascript - 尝试在 2 var obj 之间迭代并合并它们
问题描述
我有:
const dictionary = [
{
"state": "AK",
"lat": "9875.33.00",
"long": "-8371.42.00",
"name": "Alaska"
},
{
"state": "AL",
"lat": "5335.51.00",
"long": "-15124.18.00",
"name": "Alabama"
}
];
const data = [
{
"date": 20200421,
"state": "AK",
},
{
"date": 20200421,
"state": "AL",
}
];
const result = data.map(item => ({...item, lat: dictionary[item.state].lat, long: dictionary[item.state].long }))
console.log(result);
基本上尝试将dictionary
每个data
状态匹配的对象添加为 obj,但我有:
Cannot read property 'lat' of undefined
期待:
const result = [
{
"date": 20200421,
"state": "AK",
"lat": "9875.33.00",
"long": "-8371.42.00",
},
{
"date": 20200421,
"state": "AL",
"lat": "5335.51.00",
"long": "-15124.18.00",
}
];
解决方案
您不能将数组项作为一个完整数组来访问。你必须隔离你想要的 obj。用这个。
const result = data.map(function(item) {
const ditem = dictionary.find(d => d.state == item.state);
if(ditem) {
return {
...item,
"lat": ditem.lat ,
"long": ditem.long
}
}
return item;
});
console.log(result);
推荐阅读
- python - .py Python 文件是否包含元数据?
- python - (Matplotlib) 设置第一个 x 刻度 (0) 和 y 轴的空间
- google-sheets - 在谷歌表格的过滤视图中获取前一个单元格的值
- python - 解析 cifar-10 并将 imgs 更改为 HSV
- jetbrains-ide - 重命名 JetBrains Toolbox 中显示的项目名称
- r - 如何在 R 中使用字符串搜索从大型 SpatialPolygonsDataFrame 中删除多边形子集?
- node.js - 将应用部署到应用引擎时缺少环境变量
- c - 如何正确地将字符添加到 C 语言中的 C 字符串?
- java - 在 Android 上增强基本颜色类
- c# - 我将如何使用这个工厂类,有什么意义?