Best way to concat builtin arrays?

Incase there's an altogether better way to do this, here's the situation. I have two groups of objects in my scene, tagged ships and driftwood. The player should be able to target objects in both groups via a keypress so I need to Concat 2 builtin arrays of GameObjects into a single array which I can use GetComponent on later. At the moment I'm using this code to change the arrays from builtin to JS ones, Concat them, and then change them back (can I use GetComponent on a JS array? If so, ignore the last line).

Is this the best way to do this, or is there some easier way to have FindGameObjectsWithTag grab objects with more than one tag?

    var allaships = GameObject.FindGameObjectsWithTag ("ship");
    var allshipsjs = new Array (allaships);
    var alldriftwood = GameObject.FindGameObjectsWithTag ("driftwood");
    var alldriftwoodjs = new Array (alldriftwood);
    var concated = allshipsjs.Concat(alldriftwoodjs);
    var allships : GameObject[] = concated.ToBuiltin(GameObject);

You can't pass more than one tag to FindGameObjectsWithTag. You can use GetComponent with any game objects in a JS array; everything in such an array is an Object, so you can cast it to whatever type you need. I'm not entirely sure what you're using the arrays for in the first place--it doesn't seem to me that you would need arrays for targeting an object--but I don't know how your code is set up, so maybe you do need them. :)

As far as your actual code itself goes, you can shorten it somewhat:

var allshipsjs = new Array (GameObject.FindGameObjectsWithTag ("ship") );
var alldriftwoodjs = new Array (GameObject.FindGameObjectsWithTag ("driftwood") );
var allships = allshipsjs.Concat(alldriftwoodjs).ToBuiltin(GameObject);

That's probably the best way, but you've got a lot of extra random variables that you don't need to be set (I blame UnityScript's confusing dynamic variable typing for this). You can shorten this to this:

var allaships = GameObject.FindGameObjectsWithTag ("ship");
var alldriftwood = GameObject.FindGameObjectsWithTag ("driftwood");
var allships = allships.Concat(alldriftwood);