배열에 원소를 [원소, 인덱스]로 바꾸는거 도와주세요


발생하는 문제 및 실행환경

ruby에서 ["hello", "ruby", "world"] 같은 배열을

[["hello",2], ["ruby",3], ["world",4]] 로 바꾸려면 어떻게 쓰나요?

  • 2016년 02월 25일에 작성됨

조회수 180


1 답변


좋아요
0
싫어요
채택취소하기

with_index

1.9.3이상에서는 Enumerator#with_index(offset = 0)를 써서 만들 수 있습니다.

Iterates the given block for each element with an index, which starts from offset. If no block is given, returns a new Enumerator that includes the index, starting from offset

[:a, :b, :c].map.with_index(2).to_a
#=> [[:a, 2], [:b, 3], [:c, 4]]

each_with_index

Enumerable#each_with_index(*args) { |obj, i| block }

Calls block with two arguments, the item and its index, for each item in enum. Given arguments are passed through to each().

arr.each_with_index.map { |x,i| [x, i+2] }
  • 2016년 02월 25일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close