You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中从对象数组提取经纬度数据列表(React Native)

问题描述

假设我们有如下JSON数据:

var example = [{
    latitude: 11.1111,
    longitude: 111.111,
    name: "for example1",
    altitude: 88
},
{
    latitude: 22.2222,
    longitude: 222.222,
    name: "for example2",
    altitude: 89
},
{
    latitude: 33.3333,
    longitude: 333.333,
    name: "for example3",
    altitude: 90
}
]

我需要获取仅包含latitude和longitude的列表(或对象),因为我的React Native应用中的Map API需要这些数据。但由于性能问题,我无法使用循环。我知道编写单独的MySQL查询可以解决这个问题,但我认为这不是好方案(如果我的想法有误,也请告知)。请问该如何解决这个问题?

解决方案

1. 优先使用数组map方法

别担心map的性能,它是JS引擎底层优化过的遍历实现,比手动写普通循环效率更高,完全能满足需求,代码如下:

const coords = example.map(item => ({
  latitude: item.latitude,
  longitude: item.longitude
}));

执行后coords就是只包含经纬度的对象数组,可直接给Map API使用。

2. 关于MySQL查询的纠正

单独写MySQL查询只返回latitude和longitude其实是非常优质的方案:

  • 减少数据库到前端的数据传输量,节省带宽
  • 前端无需处理冗余字段,降低内存占用
    如果数据量较大,这种方案的性能优势会特别明显,完全值得采用。

3. 极致性能可选:reduce方法

如果数据量极大,也可以用reduce,但实际性能和map相差不大,代码示例:

const coords = example.reduce((result, item) => {
  result.push({
    latitude: item.latitude,
    longitude: item.longitude
  });
  return result;
}, []);

内容的提问来源于stack exchange,提问作者Owen Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 12:24:24