From: Paul Smith Date: 2009-09-26T00:52:47+09:00 Subject: Re: How to remove duplicate elements in a 2D array On Fri, Sep 25, 2009 at 4:39 PM, Paul Smith wrote: > On Fri, Sep 25, 2009 at 4:34 PM, Li Chen wrote: >> Hi all, >> >> I have a 2D array as follow: >> >> arr=[ >> >>     [ 'a',1,2,3], >>     ['b',4,5,6], >>     ['c',3,2,1], >>     ['a',1.3,2.2,3,3], >>     ... >>     ['a', 2,1,3], >>   ... >>   ['a',2.1,1.5,3] >> >> ] >> >> As you can see there are several rows containing  element 'a', >> and the last row containing 'a'' is the lastest one.  I wonder if it >> is possible to return a new array which contains the latest row having >> 'a' , >> together with other rows. > > result = [] > arr.each { |x| result = x if x[0] == 'a' } > result > > ? Sorry, this only solves the "Last row containing a" part of the problem. If you're intending to eliminate duplicates, then use that first element as the key to a hash. result = {} arr.each{|x| result[x[0]] = x[1,x.length-1]} ? > > -- > Paul Smith > http://www.nomadicfun.co.uk > > paul@pollyandpaul.co.uk > > -- Paul Smith http://www.nomadicfun.co.uk paul@pollyandpaul.co.uk