Arrays 我想从两个值数组中创建一个哈希数组

Arrays 我想从两个值数组中创建一个哈希数组,arrays,ruby,hash,Arrays,Ruby,Hash,我有两个数组。一个数组包含经度,另一个数组包含纬度 我需要创建一个名为markers的散列数组。每个标记都有一个关键纬度和一个相应的值。它还将有一个键经度和一个相应的值。如何从这两个数组创建哈希数组 我被困住了,所以任何帮助都将不胜感激 我的代码在下面 array_of_lon = [162.143815475374, 168.950878940823, 3.64965696346187, -167.21528146934, 177.219093253956] array_of_lat = [

我有两个数组。一个数组包含经度,另一个数组包含纬度

我需要创建一个名为markers的散列数组。每个标记都有一个关键纬度和一个相应的值。它还将有一个键经度和一个相应的值。如何从这两个数组创建哈希数组

我被困住了,所以任何帮助都将不胜感激

我的代码在下面

array_of_lon = [162.143815475374, 168.950878940823, 3.64965696346187, -167.21528146934, 177.219093253956]

array_of_lat = [7.07533432185069, -71.1633951653961, 83.684201546539, -41.7868611360175, 22.3943085903501]

array_of_markers_hashes = []




这样试试

markers = array_of_lon.zip(array_of_lat).map do |lon, lat|
  { latitude: lat, longitude: lon }
end
 => [{:latitude=>7.07533432185069, :longitude=>162.143815475374}, {:latitude=>-71.1633951653961, :longitude=>168.950878940823}, {:latitude=>83.684201546539, :longitude=>3.64965696346187}, {:latitude=>-41.7868611360175, :longitude=>-167.21528146934}, {:latitude=>22.3943085903501, :longitude=>177.219093253956}] 

对于一对值,您可以使用:

lon = 162.143815475374
lat = 7.07533432185069

{ lon: lon, lat: lat }
#=> {:lon=>162.143815475374, :lat=>7.07533432185069}
要组合这两个阵列,需要:

最后,要将这些对转换为标记:

array_of_lon.zip(array_of_lat).map do |lon, lat|
  { lon: lon, lat: lat }
end
#=> [
#     {:lon=>162.143815475374, :lat=>7.07533432185069},
#     {:lon=>168.950878940823, :lat=>-71.1633951653961},
#     {:lon=>3.64965696346187, :lat=>83.684201546539},
#     {:lon=>-167.21528146934, :lat=>-41.7868611360175},
#     {:lon=>177.219093253956, :lat=>22.3943085903501}
#   ]

询问时,我们需要看到您为解决问题所做努力的证据。如果没有这一点,看起来您并没有试图让我们编写代码。因此,这不是一个“为我编写代码的网站”,而是我们帮助修复您编写的代码。
array_of_lon.zip(array_of_lat).map do |lon, lat|
  { lon: lon, lat: lat }
end
#=> [
#     {:lon=>162.143815475374, :lat=>7.07533432185069},
#     {:lon=>168.950878940823, :lat=>-71.1633951653961},
#     {:lon=>3.64965696346187, :lat=>83.684201546539},
#     {:lon=>-167.21528146934, :lat=>-41.7868611360175},
#     {:lon=>177.219093253956, :lat=>22.3943085903501}
#   ]