Based on "Kind of like Map, except with a variable number of arguments." I think you might be looking for Apply to level 1. This is done with:
Apply[function, array, {1}]
or the shorthand:
function @@@ array
Here is what it does:
array = {{1, 2, 3}, {a, b, c}, {Pi, Sin, Tan}};
action @@@ array
{action[1, 2, 3], action[a, b, c], action[Pi, Sin, Tan]}
The terminology I used above could be misleading, and limits the power of Apply. The expression to which you apply action does not need to be a rectangular array. It does not even need to be a List: {...} or have its elements be lists. Here is an example incorporating these possibilities:
args = {1, 2} | f[a, b, c] | {Pi};
action @@@ args
action[1, 2] | action[a, b, c] | action[Pi]
args is not a List but a set of Alternatives
- the number of arguments passed to
action varies
- one of the elements of
args has head f
Observe that:
action replaces the head of each element of args, whatever it may be.
- The head of
args is preserved in the output, in this case Alternatives (short form: a | b | c)