Sorting a multidimensional array

Peter Bogdanoff bogdanoff at me.com
Fri Sep 26 18:46:37 EDT 2014


Thanks very much, Dick and Peter! I'll try these out.


On Sep 26, 2014, at 8:55 AM, "Peter M. Brigham" <pmbrig at gmail.com> wrote:

> On Sep 26, 2014, at 12:24 AM, Peter Bogdanoff wrote:
> 
>> My first foray into arrays:
>> 
>> I want to sort a 2D array by one of the keys.
>> 
>> The data consists of several 2-line groups that are in a field. The lines contain styled and linked characters that I want to retain after sorting:
>> 
>> peaches
>> pears
>> 
>> apples
>> oranges
>> 
>> plums
>> grapes
>> 
>> I want to sort the data by line 1 of each 2-line group, then display the sorted data as styled text.
>> 
>> I build an array:
>> 
>> repeat with x = 1 to (the number of lines of field “tField" / 3)
>> 	put line 1 of field “tField" into tMultiArray[x][1]
>> 	put the htmlText of line 1 of field “tField" into tMultiArray[x][2]
>> 	put the htmlText of line 2 of field “tField" into tMultiArray[x][3]
>> 	delete line 1 to 3 of field “tField"
>> end repeat
>> 
>> How do I sort this array by line 1 of the plain text of each group?
>> 
>> Then, how do I extract the data from the array—I need the 2nd & 3rd values only (the htmlText) to display again in the field (set the htmlText of line x of field “tField” to…?)?
>> 
>> Is this the best method to sort this kind of data? The data comes as search results using Scott McDonald’s RunRev Planet Search tool, so I have to work with what the tool gives me.
> 
> You could do it without any arrays:
> 
> on sortIt tFldRef
>   put the htmlText of tFldRef into tData
>   put numtochar(4) into groupDiv
>   put numtochar(5) into itemDiv
>   replace "<p><p>" with groupDiv in tData
>   replace"<p>" with itemDiv in tData
>   replace groupDiv with cr in tData
>   set the itemdel to itemDiv
>   sort lines of tData by item 1 of each
>   replace cr with "<p><p>" in tData
>   replace itemDiv with "<p>" in tData
>   set the htmltext of tFldRef to tData
> end sortIt
> 
> Not tested, may need to do more parsing of HTMLtext before sorting…. But you get the idea.
> 
> -- Peter
> 
> Peter M. Brigham
> pmbrig at gmail.com
> http://home.comcast.net/~pmbrig
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list