Nested array comparisons

David Beck david at rotundasoftware.com
Sat Mar 23 22:40:04 EDT 2013


Here is a function, in the mean time, that will do a deep comparison of arrays:

function arraysAreEqual array1, array2
   if array1 is not array2 then return false
   put the keys of array1 into theKeys
   repeat for each line thisKey in theKeys
      put 0 into numberOfArrays
      if array1[ thisKey ] is an array then add 1 to numberOfArrays
      if array2[ thisKey ] is an array then add 1 to numberOfArrays
      if numberOfArrays is 1 then return false
      if numberOfArrays is 2 then
         if not arraysAreEqual( array1[ thisKey ], array2[ thisKey ] ) then return false
      end if
   end repeat
   
   return true
end arraysAreEqual

On Mar 23, 2013, at 12:43 PM, David Beck <david at rotundasoftware.com> wrote:

> 
> If one has two nested arrays, can you compare the two for equality by doing
> 
> if deepArray_1 is deepArray_2 then
>   -- do whatever
> end if
> 
> It looks like this does not work. That is, you get false positives at times when the two arrays are in fact not equal. Can not find documentation to determine whether this is bug of the expected behavior!
> 
> David Beck





More information about the use-livecode mailing list