Everything would be fine, but the problem is with the last else if . It issues an alert with each object, regardless of true or false . And I need to give out once when false .
$(document).ready(function() { var users = [{ "name": "A", "password": "1" }, { "name": "B", "password": "2" }, { "name": "C", "password": "3" }, { "name": "D", "password": "4" }]; $(document).on("click", ".check-data", function() { var CheckName = $('.check-name').val(); var CheckPassword = $('.check-pass').val(); for (var i = 0; i < users.length; i++) { var DataName = users[i].name; var DataPassword = users[i].password; if (CheckName === DataName && CheckPassword === DataPassword) { alert('Connected'); break; } else if (CheckName === "" && CheckPassword === "") { alert('Required to enter a name and password'); break; } else if (CheckName === DataName && CheckPassword === "") { alert('Required to enter a password'); break; } else if (CheckName === DataName && CheckPassword !== DataPassword) { alert('Wrong password'); break; } else if (CheckName !== DataName) { alert('Name not found'); } } }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <a>Check Name</a> <input class="check-name"></input> <br> <a>Check Password</a> <input class="check-pass" type="password"></input> <br> <button class="check-data">Check Data in object</button> </form>