Есть задание:
Дописать функцию contains(where, what). Если все элементы массива what содержатся в массиве where, функция должна возвращать true. Пустой массив является подмножеством любого массива. Порядок вхождения элементов в массив не имеет значения. Примеры:
contains([1,2,3], [3,2]); // true
Не знаю, правильно или, может, даже криво, но я его реализовал. При вызове функция выдает значение тру, но компилятор ругается, пишет:
Замечание: Не возвращает true при подобном вызове: contains([{}], [])
Вот мой код:
//Проверить является ли один массив подмножеством второго
//Дописать функцию contains(where, what). Если все элементы массива what содержатся в массиве where,
// функция должна возвращать true. Пустой массив является подмножеством любого массива. Порядок вхождения
//элементов в массив не имеет значения. Примеры:
var where = [4, 3, 1, 2, 5, 6, ];
var what = [3, 4, 11];
function contains(where, what) {
var n = 0;
var x = 0;
for (var j = 0; j < what.length; j++) {
for (var i = 0; i < where.length; i++) {
if (where[i] == what[j]) {
n++;
}
if (n == what.length)
x = Boolean(true);
else
x = Boolean(false);
}
}
console.log("n length", n);
console.log("what.length", what.length);
console.log("n", n);
return x;
}
contains(where, what);