Merging array with same key - HELP

Hi ,
I need to merge an array in ruby on rails.

array1 =
[‘01/01/2009’,‘01/01/2009’,‘10/01/2009’,‘01/01/2009’,‘10/01/2009’]
array2 = [‘1stjan1’,‘1stjan2’,‘10thjan1’,‘1stjan3’,‘10thjan2’]

I need to have array like this

array3 =
[‘01/01/2009’=>‘1stjan1-1stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]

Thanks in Advance.

Haii…
I will try help u.
array3 =
[‘01/01/2009’=>‘1stjan1-stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]
this is not array… this is hash…

The code is
array3 = {}
array1.each_with_index do |x, i|
array3[x] = array2[i]
end

may be it can help u…
thank you…

fyi ==> array1.length == array2.length → this is rule for that
case…(
MUST)

On Tue, Jan 27, 2009 at 2:13 PM, Shankar G. <
[email protected]> wrote:

array3 =
[‘01/01/2009’=>‘1stjan1-1stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]

Thanks in Advance.

Posted via http://www.ruby-forum.com/.


Wu You Duan

hi,
I’m getting value like {“1stjan1”=>“01/01/2009”,
“10thjan1”=>“10/01/2009”, “1stjan2”=>“01/01/2009”,and so}
for the code

array3 = {}
array1.each_with_index do |x, i|
array3[x] = array2[i]
end

I need to merge the value but the key(date) should be same.

Thanks.

anton effendi wrote:

Haii…
I will try help u.
array3 =
[‘01/01/2009’=>‘1stjan1-stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]
this is not array… this is hash…

The code is
array3 = {}
array1.each_with_index do |x, i|
array3[x] = array2[i]
end

may be it can help u…
thank you…

fyi ==> array1.length == array2.length → this is rule for that
case…(
MUST)

On Tue, Jan 27, 2009 at 2:13 PM, Shankar G. <
[email protected]> wrote:

array3 =
[‘01/01/2009’=>‘1stjan1-1stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]

Thanks in Advance.

Posted via http://www.ruby-forum.com/.


Wu You Duan

make sure…
array1 → date
array2 → the value…

or
array3 = {}
array1.each_with_index do |x, i|
array3[x] = array2[i]
end

change to

array3 = {}
array2.each_with_index do |x, i|
array3[x] = array1[i]
end

please try again

On Tue, Jan 27, 2009 at 3:56 PM, Shankar G. <
[email protected]> wrote:

end
[‘01/01/2009’=>‘1stjan1-stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]

thank you…

array3 =


Wu You Duan


Posted via http://www.ruby-forum.com/.


Wu You Duan

<% array1
=[‘01/01/2009’,‘01/01/2009’,‘10/01/2009’,‘01/01/2009’,‘10/01/2009’] %>
<%array2 = [‘1stjan1’,‘1stjan2’,‘10thjan1’,‘1stjan3’,‘10thjan2’]%>
<%array3 = {} %>
<%array2.each_with_index do |x, i|%>
<%array3[x] = array1[i]%>
<%end%>


<%=array3.inspect %>

I’m getting o/p like this

{“1stjan1”=>“01/01/2009”, “10thjan1”=>“10/01/2009”,
“1stjan2”=>“01/01/2009”, “10thjan2”=>“10/01/2009”,
“1stjan3”=>“01/01/2009”}

anton effendi wrote:

make sure…
array1 → date
array2 → the value…

or
array3 = {}
array1.each_with_index do |x, i|
array3[x] = array2[i]
end

change to

array3 = {}
array2.each_with_index do |x, i|
array3[x] = array1[i]
end

please try again

On Tue, Jan 27, 2009 at 3:56 PM, Shankar G. <
[email protected]> wrote:

end
[‘01/01/2009’=>‘1stjan1-stjan2-1stjan3’,‘10/01/2009’=>‘10thjan1-10thjan2’]

thank you…

array3 =


Wu You Duan


Posted via http://www.ruby-forum.com/.


Wu You Duan

send to me the file… I will repair…

I think use:
array3 = {}
array1.each_with_index do |x, i|
array3[x] = array2[i]
end

On Tue, Jan 27, 2009 at 8:50 PM, Shankar G. <
[email protected]> wrote:

<%=array3.inspect %>

[email protected]> wrote:


Posted via http://www.ruby-forum.com/.


Wu You Duan

Hi,

hash = {}
array1.uniq.each { |d| hash[d] = [] }
array1.each_with_index { |x,i| hash[x] << array2[i] }
hash.each_key { |key| hash[key] = hash[key].join(‘-’) }
hash.inspect # => {“01/01/2009”=>“1stjan1-1stjan2-1stjan3”,
“10/01/2009”=>“10thjan1-10thjan2”}

Enjoy,

-Harold
On Jan 27, 2:13 am, Shankar G. [email protected]

Hi,

hash = {}
array1.uniq.each { |d| hash[d] = [] }
array1.each_with_index { |x,i| hash[x] << array2[i] }
hash.each_key { |key| hash[key] = hash[key].join(‘-’) }
hash.inspect # => {“01/01/2009”=>“1stjan1-1stjan2-1stjan3”,
“10/01/2009”=>“10thjan1-10thjan2”}

Enjoy,

-Harold
On Jan 27, 2:13 am, Shankar G. [email protected]

Hi,

I got a table like this

hi,
Thank you DUDE it works !

Harold wrote:

Hi,

hash = {}
array1.uniq.each { |d| hash[d] = [] }
array1.each_with_index { |x,i| hash[x] << array2[i] }
hash.each_key { |key| hash[key] = hash[key].join(‘-’) }
hash.inspect # => {“01/01/2009”=>“1stjan1-1stjan2-1stjan3”,
“10/01/2009”=>“10thjan1-10thjan2”}

Enjoy,

-Harold
On Jan 27, 2:13�am, Shankar G. [email protected]

Hi,

I got a table like this


id | what | when | color | to | description |

1 | test |01/01/2009 | red |04/01/2009 | hi this is test |

2 | test2 |02/01/2009 | green |04/01/2009 | hi this is test |

3 | test3 |01/01/2009 | blue |04/01/2009 | hi this is test |

4 | test4 |02/01/2009 | orange |04/01/2009 | hi this is test |

I had fetch the value from the database in such a way like this

##############################
#[JavaScript source with ROR]#
##############################

var dAb = new Array();
var x = 0;
var event_task_today =’’;
var event_task =’’;

<% @eventall.each do |d| %>
var DBdate1 = ‘<%= d.when%>’;
var eventdate1 = DBdate1.split(’/’);
var task_date1 =eventdate1[2]+eventdate1[1]+eventdate1[0];
dAb[x++] = task_date1+"

<%= d.what%>
";
<% end %>

If I alert 'dAb’value I’m getting like this
*****

20090101

test
,20090102
test2
,20090101
test3
,20090102
test4

I need to have JavaScript variable 'dAb’like this
********

20090101

test

test3
,20090102
test2

test4


tag should be placed in between the values with same date ,date
should be printed only once.

PLEASE ADVICE.

Thanks in advance.

Which record do you want to include for the repeated dates? the first,
or last?

Julian

http://sensei.zenunit.com/
http://random8.zenunit.com/

all the records should be included.

Julian L. wrote:

Which record do you want to include for the repeated dates? the first,
or last?

Julian

http://sensei.zenunit.com/
http://random8.zenunit.com/