JSFiddle - React, Tailwind, and code Playground
by LuckyCat
JavaScript
/*
Проверить является ли один массив подмножеством второго
Дописать функцию contains(where, what). Если все элементы массива what содержатся в массиве where, функция должна возвращать true. Пустой массив является подмножеством любого массива. Порядок вхождения элементов в массив не имеет значения. Примеры:
contains([1,2,3], [3,2]); // true
contains([1,2,3], [3,2,1,2,3]); // true
*/
function contains(where, what) {
}
function contains(where, what){
for(var i=0; i<what.length; i++){
if(where.indexOf(what[i]) == -1) return false;
}
return true;
}
function contains(where, what) {
if (!what) { // условие #1
return true;
}
for (var i = 0; i < what.length; i++) {
for (var j = 0; j < where.length; j++) {
if (what[i] == where[j]) { // вообще есть indexOf, но непонятно, под какие платформы это пишется, так что по старинке
break;
}
if (j === where.length - 1) {
// мы дошли до конца массива, и так и не нашли вхождение - значит, у нас есть элемент, который не входит в where, и нужно вернуть false
return false;
}
}
}
// ни для одного из элементов не сработал return false, а значит, все они найдены
return true;
}