文字列内の配列の出現回数をカウントする必要があります。次のような特殊文字に問題があります;/()
var msg = "hello world :)";
var tce = [":)", ":(", ":/" ];
var countOcurrences = 0;
for (var i = 0; i < tce.length; i++) {
res = msg.match(/tce[i]/g);
if (res != null) countOcurrences += res.length;
}
正規表現を使えば、もっと簡単になるのではないかと思います。