Если
@egor_nullptr вас понял правильно, и вам нужно проверить, что массив b хотя бы в одном экзепляре содержит каждый элемент массива a, то предлагаю такое решение:
Array.prototype.hasAll = function(a) {
var hash = this.reduce(function(acc, i) { acc[i] = true; return acc; }, {});
return a.every(function(i) { return i in hash; });
};
По сравнению с решением
@egor_nullptr оно асимптотически быстрее: O(n + m) против O(n * m), где n, m - размеры массивов a, b. При n = m = 100 000 на моей машине мой вариант отрабатывает быстрее в 200 раз. Тестировал
так.
Знаете, каков мой опыт разработки на JavaScript? Я программирую на нём 40 минут, в обнимку с
JavaScript Reference от Mozilla. Мой основной язык - C++. А вам очень советую добраться-таки до какой-нибудь книжки по алгоритмам и структурам данных (например, до "
Introduction to Algorithms". Она есть на русском, лучший перевод, на мой взгляд, от МЦНМО). Это полезно, уверяю вас.