[COLOR=#0000ff]' input array[/color]
my_inp_array [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Andrew"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type1"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]45678[/color][COLOR=#804040][b]),[/b][/color]_
[COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Andrew"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type2"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]45679[/color][COLOR=#804040][b]),[/b][/color]_
[COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Andrew"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type1"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]46678[/color][COLOR=#804040][b]),[/b][/color]_
[COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Andrew"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type2"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]45660[/color][COLOR=#804040][b]),[/b][/color]_
[COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Mike"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type3"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]6543[/color][COLOR=#804040][b]),[/b][/color]_
[COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Mike"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type4"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]653[/color][COLOR=#804040][b]),[/b][/color]_
[COLOR=#008080]Array[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Tom"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]"Type1"[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]643[/color][COLOR=#804040][b]))[/b][/color]
wscript[COLOR=#804040][b].[/b][/color]echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Input Array:"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]call[/b][/color] show_array[COLOR=#804040][b]([/b][/color]my_inp_array[COLOR=#804040][b])[/b][/color]
wscript[COLOR=#804040][b].[/b][/color]echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Processing ..."[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff]' create Dictionary object[/color]
[COLOR=#804040][b]set[/b][/color] my_hash [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]CreateObject[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Scripting.Dictionary"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]for[/b][/color] j[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]0[/color] [COLOR=#804040][b]to[/b][/color] [COLOR=#008080]Ubound[/color][COLOR=#804040][b]([/b][/color]my_inp_array[COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff] 'wscript.echo((j+1) & ": " & my_inp_array(j)(0) & "- " & my_inp_array(j)(2))[/color]
[COLOR=#0000ff] ' get key and timestamp value[/color]
key [COLOR=#804040][b]=[/b][/color] my_inp_array[COLOR=#804040][b]([/b][/color]j[COLOR=#804040][b])([/b][/color][COLOR=#ff00ff]0[/color][COLOR=#804040][b])[/b][/color]
timestamp [COLOR=#804040][b]=[/b][/color] my_inp_array[COLOR=#804040][b]([/b][/color]j[COLOR=#804040][b])([/b][/color][COLOR=#ff00ff]2[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff] ' add records to hash (i.e. dictionary)[/color]
[COLOR=#804040][b]if[/b][/color] my_hash[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]exists[/color][COLOR=#804040][b]([/b][/color]key[COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]then[/b][/color]
[COLOR=#804040][b]if[/b][/color] timestamp [COLOR=#804040][b]>[/b][/color] my_hash[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]item[/color][COLOR=#804040][b]([/b][/color]key[COLOR=#804040][b])([/b][/color][COLOR=#ff00ff]2[/color][COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]then[/b][/color]
[COLOR=#0000ff] ' replace existing record with record which has greater timestamp[/color]
my_hash[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]item[/color][COLOR=#804040][b]([/b][/color]key[COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]=[/b][/color] my_inp_array[COLOR=#804040][b]([/b][/color]j[COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]end[/b][/color] [COLOR=#804040][b]if[/b][/color]
[COLOR=#804040][b]else[/b][/color]
my_hash[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]item[/color][COLOR=#804040][b]([/b][/color]key[COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]=[/b][/color] my_inp_array[COLOR=#804040][b]([/b][/color]j[COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]end[/b][/color] [COLOR=#804040][b]if[/b][/color]
[COLOR=#804040][b]next[/b][/color]
[COLOR=#0000ff]' create output array dynamically [/color]
[COLOR=#804040][b]dim[/b][/color] my_out_array[COLOR=#804040][b]()[/b][/color]
[COLOR=#0000ff]' set the dimension to number of keys in the hash[/color]
n [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]Ubound[/color][COLOR=#804040][b]([/b][/color]my_hash[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]keys[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]redim[/b][/color] my_out_array[COLOR=#804040][b]([/b][/color]n[COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff]' convert hash records into array records [/color]
j [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]0[/color]
[COLOR=#804040][b]for[/b][/color] [COLOR=#804040][b]each[/b][/color] key [COLOR=#804040][b]in[/b][/color] my_hash
[COLOR=#0000ff] ' wscript.echo(key & " ==> " & my_hash.item(key)(2))[/color]
my_out_array[COLOR=#804040][b]([/b][/color]j[COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]=[/b][/color] my_hash[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]item[/color][COLOR=#804040][b]([/b][/color]key[COLOR=#804040][b])[/b][/color]
j [COLOR=#804040][b]=[/b][/color] j [COLOR=#804040][b]+[/b][/color] [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]next[/b][/color]
wscript[COLOR=#804040][b].[/b][/color]echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"... Done."[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff]' show results[/color]
wscript[COLOR=#804040][b].[/b][/color]echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Output Array:"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]call[/b][/color] show_array[COLOR=#804040][b]([/b][/color]my_out_array[COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff]' -----------------------------------------------------------[/color]
[COLOR=#804040][b]sub[/b][/color] show_array[COLOR=#804040][b]([/b][/color]a[COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]for[/b][/color] k[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]0[/color] [COLOR=#804040][b]to[/b][/color] [COLOR=#008080]Ubound[/color][COLOR=#804040][b]([/b][/color]a[COLOR=#804040][b])[/b][/color]
wscript[COLOR=#804040][b].[/b][/color]echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Name: "[/color] [COLOR=#804040][b]&[/b][/color] a[COLOR=#804040][b]([/b][/color]k[COLOR=#804040][b])([/b][/color][COLOR=#ff00ff]0[/color][COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]vbTab[/color] [COLOR=#804040][b]& _[/b][/color]
[COLOR=#ff00ff]"Type: "[/color] [COLOR=#804040][b]&[/b][/color] a[COLOR=#804040][b]([/b][/color]k[COLOR=#804040][b])([/b][/color][COLOR=#ff00ff]1[/color][COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]vbTab[/color] [COLOR=#804040][b]& _[/b][/color]
[COLOR=#ff00ff]"TimeStamp: "[/color] [COLOR=#804040][b]&[/b][/color] a[COLOR=#804040][b]([/b][/color]k[COLOR=#804040][b])([/b][/color][COLOR=#ff00ff]2[/color][COLOR=#804040][b]))[/b][/color]
[COLOR=#804040][b]next[/b][/color]
[COLOR=#804040][b]end[/b][/color] [COLOR=#804040][b]sub[/b][/color]