有没有一种快捷方式可以融合字符串数组中两个相同大小数组的单个元素



我有两个字符串的数组

[["1,'Tambaú','Praça Santo António','Tambaú','12x0',2,'I','EM',12,6,5934,50"], 
 ["2,'Beira Rio','Av. Bei ra Rio, Prox. Av Odilon Coutinho','Beira Rio','12x0',2,'I','EM',12,0,7249,0"], 
 ["3,'Cabo Branco','Cabo Bra nco, Prox. Rua Alice de Almeida','Cabo Branco','12x0',2,'I','EO',12,0,4751,0"], 
 ["901,'teste','teste','test e','Mini-estação de demonstração',1,'I','EO',2,1,97,50"]
]
[["-7.1105596,-34.824085"],
 ["-7.1243144,-34.823312"],
 ["-7.1395805,-34.816446"],
 ["-7.1008926,-35.068359"]]

我可以通过循环和添加元素的手动方式来完成,但我想知道是否有人知道是否存在更智能的方式。

编辑:这是我想解决任何困惑的结果

[
 "1,'Tambaú','Praça Santo António','Tambaú','12x0',2,'I','EM',12,6,5934,50,-7.1105596,-34.824085",
 "2,' Beira Rio','Av. Beira Rio, Prox. Av Odilon Coutinho','Beira Rio','12x0',2,'I','EM',12,0,7249,0,-7.1243144, -34.823312",
 "3,'Cabo Branco','Cabo Branco, Prox. Rua Alice de Almeida','Cabo Branco','12x0',2,'I','EO',12, 0,4751,0,-7.1395805,-34.816446", 
 "901,'teste','teste','teste','Mini-estação de demonstração',1,'I','EO' ,2,1,97,50,-7.1008926,-35.068359"
]

以下是我现在正在做的

for i in 0...arr1.size
  newArr[i] = (arr1[i][0] + "," + arr2[i][0])
end

flattenzip,然后mapjoin:

arr1 = [
  ["1,'Tambaú','Praça Santo António','Tambaú','12x0',2,'I','EM',12,6,5934,50"], 
  ["2,'Beira Rio','Av. Bei ra Rio, Prox. Av Odilon Coutinho','Beira Rio','12x0',2,'I','EM',12,0,7249,0"], 
  ["3,'Cabo Branco','Cabo Bra nco, Prox. Rua Alice de Almeida','Cabo Branco','12x0',2,'I','EO',12,0,4751,0"], 
  ["901,'teste','teste','test e','Mini-estação de demonstração',1,'I','EO',2,1,97,50"]
]
arr2 = [
  ["-7.1105596,-34.824085"],
  ["-7.1243144,-34.823312"],
  ["-7.1395805,-34.816446"],
  ["-7.1008926,-35.068359"]
]
arr1.flatten.zip(arr2.flatten).map { |pair| pair.join(',') }
#=> ["1,'Tamba','Praa Santo Antnio','Tamba','12x0',2,'I','EM',12,6,5934,50,-7.1105596,-34.824085"],
#    "2,'Beira Rio','Av. Bei ra Rio, Prox. Av Odilon Coutinho','Beira Rio','12x0',2,'I','EM',12,0,7249,0,-7.1243144,-34.823312",
#    "3,'Cabo Branco','Cabo Bra nco, Prox. Rua Alice de Almeida','Cabo Branco','12x0',2,'I','EO',12,0,4751,0,-7.1395805,-34.816446",
#    "901,'teste','teste','test e','Mini-estao de demonstrao',1,'I','EO',2,1,97,50,-7.1008926,-35.068359"]

此解决方案将数组保持在数组中(Arr1将被修改!)

arr1 = [
  ["1,'Tambaú','Praça Santo António','Tambaú','12x0',2,'I','EM',12,6,5934,50"], 
  ["2,'Beira Rio','Av. Bei ra Rio, Prox. Av Odilon Coutinho','Beira Rio','12x0',2,'I','EM',12,0,7249,0"], 
  ["3,'Cabo Branco','Cabo Bra nco, Prox. Rua Alice de Almeida','Cabo Branco','12x0',2,'I','EO',12,0,4751,0"], 
  ["901,'teste','teste','test e','Mini-estação de demonstração',1,'I','EO',2,1,97,50"]
]
arr2 = [["-7.1105596,-34.824085"], ["-7.1243144,-34.823312"], ["-7.1395805,-34.816446"], ["-7.1008926,-35.068359"]]

arr1.each_with_index{|el,i|
  el.first << ',' 
  el.first << arr2[i].first
}

使用arr1.flatten!,您可以从您的数组中创建一个"普通"数组。

您也可以在"熔断"之前进行flatten

arr1 = [
  ["1,'Tambaú','Praça Santo António','Tambaú','12x0',2,'I','EM',12,6,5934,50"], 
  ["2,'Beira Rio','Av. Bei ra Rio, Prox. Av Odilon Coutinho','Beira Rio','12x0',2,'I','EM',12,0,7249,0"], 
  ["3,'Cabo Branco','Cabo Bra nco, Prox. Rua Alice de Almeida','Cabo Branco','12x0',2,'I','EO',12,0,4751,0"], 
  ["901,'teste','teste','test e','Mini-estação de demonstração',1,'I','EO',2,1,97,50"]
]
arr1.flatten!
arr2 = [["-7.1105596,-34.824085"], ["-7.1243144,-34.823312"], ["-7.1395805,-34.816446"], ["-7.1008926,-35.068359"]]
arr2.flatten!
arr1.each_with_index{|el,i|
  el << ','
  el << arr2[i]
}

最新更新