如何解决将键分配给从数组创建的对象
"result": [
{
"query": "NE30 1DP","result": {
"postcode": "NE30 1DP","quality": 1,"eastings": 435958,"northings": 568671,"country": "England","nhs_ha": "north East","longitude": -1.439269,"latitude": 55.011303,"european_electoral_region": "north East","primary_care_trust": "north Tyneside","region": "north East","lsoa": "north Tyneside 016C","msoa": "north Tyneside 016","incode": "1DP","outcode": "NE30","parliamentary_constituency": "Tynemouth","admin_district": "north Tyneside","parish": "north Tyneside,unparished area","admin_county": null,"admin_ward": "Tynemouth","ced": null,"ccg": "NHS north Tyneside","nuts": "Tyneside","codes": {
"admin_district": "E08000022","admin_county": "E99999999","admin_ward": "E05001130","parish": "E43000176","parliamentary_constituency": "E14001006","ccg": "E38000127","ccg_id": "99C","ced": "E99999999","nuts": "UKC22"
}
]
我创建的函数在下面
export const returnLatLonObj = (arr) => {
return Object.fromEntries(
arr.map(({ result: { latitude,longitude } }) => [latitude,longitude])
);
};
这将返回以下对象
{
"55.011303": -1.439269
}
{
"latitude": 55.011303,"longitude": -1.439269
}
我该如何实现?
解决方法
无需使用Object.fromEntries
。仅使用Array.prototype.map
生成一个新对象就足够了。
const arr = [{
"query": "NE30 1DP","result": {
"postcode": "NE30 1DP","quality": 1,"eastings": 435958,"northings": 568671,"country": "England","nhs_ha": "North East","longitude": -1.439269,"latitude": 55.011303,"european_electoral_region": "North East","primary_care_trust": "North Tyneside","region": "North East","lsoa": "North Tyneside 016C","msoa": "North Tyneside 016","incode": "1DP","outcode": "NE30","parliamentary_constituency": "Tynemouth","admin_district": "North Tyneside","parish": "North Tyneside,unparished area","admin_county": null,"admin_ward": "Tynemouth","ced": null,"ccg": "NHS North Tyneside","nuts": "Tyneside","codes": {
"admin_district": "E08000022","admin_county": "E99999999","admin_ward": "E05001130","parish": "E43000176","parliamentary_constituency": "E14001006","ccg": "E38000127","ccg_id": "99C","ced": "E99999999","nuts": "UKC22"
}
}
}];
const returnLatLonObj = (arr) => {
return arr.map(({ result: { latitude,longitude } }) => ({
latitude,longitude
}));
};
console.log(returnLatLonObj(arr));
,
具有正确赋值语法的简单map
已经可以完成工作...
const sampleDataList = [{
"query": "NE30 1DP","latitude": 55.011303
},}];
// was ...
//
// /*export */const returnLatLonObj = (arr) => {
// return Object.fromEntries(
// arr.map(({ result: { latitude,longitude } }) => [latitude,longitude])
// );
// };
// { "55.011303": -1.439269 }
// versus
// { "latitude": 55.011303,"longitude" :-1.439269 }
// should be ...
//
/*export */const returnLatLonObj = (arr) => {
return arr.map(({ result: { latitude,longitude } }) =>
({ latitude,longitude })
);
};
console.log(returnLatLonObj(sampleDataList));
.as-console-wrapper { min-height: 100%!important; top: 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。