2014-12-18 3 views
0

중첩 된 배열의 요소에 인덱스를 추가 보이게 수 있도록내가 중첩 배열이

[["Area1",["location1", "location2", "location3"]],["Area2",["location4", "location5", "location6"]]] 

가 어떻게이 배열 내의 위치에 인덱스를 추가하는 방법은 무엇을 같은 :

[["Area1",[["location1",1], ["location2",2], ["location3",3]]],["Area2",[["location4",4], ["location5",5], ["location6",6]]]] 

답변

3

당신 색인을 변수로 저장하고 요소를 반복 할 때 색인을 유지해야합니다.

arr = [["Area1",["location1", "location2", "location3"]],["Area2",["location4", "location5", "location6"]]] 

i = 0 

arr.each do |area, locations| 
    locations.map! { |loc| [loc, i = i + 1] } 
end 
# => [["Area1", [["location1", 1], ["location2", 2], ["location3", 3]]], ["Area2", [["location4", 4], ["location5", 5], ["location6", 6]]]]