inverse of intersect array with templateArray
dick.kriesel at mail.com
Sat Mar 23 03:41:19 EDT 2013
On Mar 23, 2013, at 12:13 AM, Monte Goulding <monte at sweattechnologies.com> wrote:
> Hi Folks
> Just checking if there isn't an undocumented inverse of the intersect command? What I need is a function that can take two multi-dimensional arrays and return only keys and elements that both don't have in common.. I'm guessing I need to implement this myself as a recursive function but just want to make sure before I go ahead seeing as intersect seems to do the exact opposite of what I want...
Hi, Monte. I think what you're looking for is called the "symmetric difference."
Here's a way to do that in LC. It's simplified from a library I use.
function symmetricDifferenceFromArrays pArray1, pArray2
local tArray1, tArray2
put differenceFromArrays( pArray1, pArray2 ) into tArray1
put differenceFromArrays( pArray2, pArray1 ) into tArray2
union tArray1 with tArray2
function differenceFromArrays tArray1, @pArray2
repeat for each key tKey in pArray2
delete variable tArray1[ tKey ]
Does that work for you?
More information about the Use-livecode