danik.js, бы вы вкратце рассказать о порядке выполнения кода.
Моих более чем скромных знаний JS не хватает.
Насколько я понимаю при нахождении совпадающего элемента массива
a1[j] === element вложенный цикл прерываеться командой break, при этом found = true и выполнениние функции продолжается во внешнем цикле со строки for (var i = 0; i < a2.length; i++).
При этом значение found снова становиться false и дальше снова переходим во внутренний цикл и так по кругу.
Правильно?
Что происходит дальше. Не совсем понятны строки ниже 15-ой.
Сообщение от danik.js
|
var a1=[1,2,3,4,5];
var a2=[2,4,4,2];
alert(isSubset(a1, a2));
function isSubset(a1, a2) {
for (var i = 0; i < a2.length; i++) {
var element = a2[i];
var found = false;
for (var j = 0; j < a1.length; j++) {
if (a1[j] === element) {
found = true;
break;
}
}
if (!found) {
return false;
}
}
return true;
}
|