Firstly, I need to mention that shell scripts substantial enough to use the horrid array implementation are probably going to be regarded as the spawn of the devil. Also, you didn't indicate what shell, but I am assuming bash.
There are many ways to do this, all ugly.
1) Iterate over the array. It's readable and relatively clean, but inefficient.
for i in 0 1 2 3 4
do
echo compare ${ARRAY[$i]} perhaps using test or whatever you like
done
2) Use expr to do it all at once. This is fragile and will break if one name is a substring of another. That can be fixed, but I would recommend using a better tool if it comes to that
$ ARRAY=(jack john jerry )
$ expr "${ARRAY[*]}" : '.*jack.*'
15 # it's found
$ expr "${ARRAY[*]}" : '.*sue.*'
0 # not found
Where jack or sue are replaced by $1 or whatever arg you want to check.