Я пытаюсь выполнить поиск по трем различным массивам строк в Javascript, ища имя (предоставленное пользователем), и, если это имя найдено, я должен вернуть, в каком массиве оно находится.
Примерно так: HTML
let users = ['mario', 'gianni', 'pinotto'];
let admins = ['moana', 'cicciolina', 'selen'];
let mods = ['frodo', 'sam', 'bilbo'];
const form = document.querySelector('form');
const btnNome = document.querySelector('#nome');
let risp = document.querySelector('#risposta');
function search() {
risp.innerText = '';
let nome = btnNome.value.trim();
for (i = 0; i < mods.length; i++) {
if (nome == mods[i]) {
risposta.innerText += `${nome} is a moderator`;
break;
} else if (i == users.length - 1) {
for (i = 0; i < admins.length; i++) {
if (nome == admins[i]) {
risposta.innerText += `${nome} is an admin`;
break;
} else if (i == users.length - 1) {
for (i = 0; i < users.length; i++) {
if (nome == users[i]) {
risposta.innerText += `${nome} is a registered user`;
break;
} else if (i == users.length - 1) {
risposta.innerText += `${nome} NON è registrato`;
break;
}
}
}
}
}
}
form.reset();
};
<form>
<label for="text">Insert name</label>
<input id="name" type="text" name="text" required/>
<input type="button" onClick="search()" value="search">
</form>
НО не работает и зависает браузер. Я думаю, что я что-то ошибся, создавая бесконечное ... oop ... какие-нибудь идеи? спасибо
СПАСИБО всем за ваши ответы, которые были очень полезны.