Вариант №2 Поиск совладения значений массива в любом порядке в искомом массиве
var a1 = [1, 2, 1, 3, 4, 5, 1, 9];
var a2 = [1, 5];
var a3 = [5, 1];
var a4 = [5, 1, 1, 3, 7];
var comparing = function (a, b) {
if (a.length < b.length) return false;
var i, buf = {}, maxel = b.length - 1;
for (i = 0; i < a.length; i++) buf[a[i]] = (buf[a[i]] || 0) + 1;
for (i = 0; ;) {
if (!buf[b[i]]--) return false;
if (i++ == maxel) return true;
}
}
alert(comparing(a1, a2));
alert(comparing(a1, a3));
alert(comparing(a1, a4));
Здесь максимальная длина проверки a.length + b.length