Это немного выходит за рамки вашего вопроса, но я думаю, что это правильное направление.Обе ваши переменные представляют собой списки предметов, которые, как я предполагаю, могут различаться.Поэтому их лучше использовать в виде массивов строк, а не строк:
var Tutor = ["Physics", "English", "History"]; /* subjects that a tutor can teach */
var Learner = ["Physics", "History"]; /* subjects in which a learner want to be tutored */
Теперь вы можете проверить, содержит ли переменная Tutor те же предметы, что и Learner, независимо от порядка (который вас интересовал).
Это можно сделать, просматривая все элементы в массиве Learner и проверяя, содержит ли их массив Tutor:
function TutorContainsAllSubjects() {
var Tutor = ["Physics", "English", "History"];
var Learner = ["Physics", "History"];
var i;
for (i = 0; i < Learner.length; i++) {
if (!Tutor.includes(Learner[i])) {
alert(false);
return false;
}
}
alert(true);
}
<html>
<head></head>
<body>
<button onclick="TutorContainsAllSubjects()">Click me</button>
</body>
</html>