javascript の inArray 実装を思いついたところですが、正常に動作しています。奇妙ですが短いので、何か問題があるような気がしますが、それが何であるかはわかりません。
Array.prototype.inArray = function (itm) {
return this.join("|").match( new RegExp('\\b'+itm+'\\b','ig') );
}
更新: これは、inArray 機能の一般的な実装であると想定されています。ループを実行するか、正規表現を作成するか、どちらがより高価かはわかりません