Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 4
1

Сравнить input с массивом объектов

10.03.2018, 23:09. Показов 6265. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
пожалуйста помогите, туплю конкретно. У меня есть массив объектов в котором хранятся логины и пароли юзеров и мне нужно сравнить введённые данные в input с этим массивом.

Вот массив:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
var users = [ {
                log: 'Obe1Kanobe',
                pass: '12345',
                type: 'jedi'
              },
 
               {
                log: 'Anakin',
                pass: '33333',
                type: 'padawan'
              }
            ];
А вот как я делаю проверку:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
submitHandler: function(form){
            const login = $('#log').val().toLowerCase();
            const password = $('#pass').val();
            //debugger;
            for (var i = 0; i < users.length; i++){
              if (login === (users[i].log.toLowerCase()) && password === (users[i].pass)) {
               console.log('Добро пожаловать');
            }
            else {
                console.log('Неверный логин или пароль');
              };
 
            }
    }
Цикл перебирает все элементы, все сравнивает и выводит оба сообщения. Как мне сделать чтобы он находил нужный и выводил добро пожаловать и только если ни один не подходит, выводил неверно ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2018, 23:09
Ответы с готовыми решениями:

Сравнить переменную с массивом
Нужно в условии сравнить переменную со всеми элементами массива. Лучше делать это без цикла. У...

Сравнить область изображения с массивом изображений
Здравствуйте. Помогите реализовать. 1. Нужно создать масив bitmap ов из ~100 фалов изображений....

Как сравнить данные из input с данными с БД?
Как сравнить данные из input с данными с БД? Допустим если текст из input не совпадает, то: echo...

Сравнить текст из textbox'a с массивом строк в listbox'e
В общем ситуация такая:) есть алгоритм непрямого сравнения, теперь нужно сделать сравнить текст из...

3
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
10.03.2018, 23:38 2
Лучший ответ Сообщение было отмечено matthewkram как решение

Решение

matthewkram,
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var flag = false;
 
for (var i = 0; i < users.length; i++){
 if (login === (users[i].log.toLowerCase()) && password === (users[i].pass)) {
    flag = true;
    break; //правильный логин и пароль найдены, другие проверять не нужно, выходим из цикла
 }
}
 
if (flag) {
console.log('Добро пожаловать');
} else {
console.log('Неверный логин или пароль');
}
1
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 4
11.03.2018, 09:42  [ТС] 3
Спасибо большое, очень помогли
0
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
11.03.2018, 11:18 4
То же самое, но чуть красивше. В переменной isLogined будет true/false

Javascript
1
const isLogined = users.some(({log, pass}) => pass === password && log.toLowerCase() === login)
1
11.03.2018, 11:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2018, 11:18
Помогаю со студенческими работами здесь

Как сравнить case у switch с чаровским массивом?
мне надо написать удобное консольное меню. Как я хочу єєто сделать: Создать массив строк. Каждая...

Не получается сравнить массив file() с обычным массивом
Вообщем есть TXT файл с вот такими строками: String1 String2 String3 С помощью функции file(),...

Foreach с массивом: сравнить полученные значения с ожидаемыми
Здравствуйте. Есть код. Примерно такой: объявляется массив переменных float array = {1, 2, 3,...

Получить значения INPUT до и после внесения изменений и сравнить их
Добрый день. На странице есть INPUT. задача такая: если изменения в инпут произошли - то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru