javascript - 使用 Javascript 验证数组中的现有键值
问题描述
我有一个小表单,我在其中输入值(id 和名称)并通过单击按钮将它们存储在数组中,但我想验证此数组中是否存在现有的 id 键值,因为我不想添加重复的 id 键价值观。
目前我有这个:
<div class="form">
<input type="text" id="idperson"><input type="text" id="name">
<button id="add" type="button">ADD</button>
</div>
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script>
var people = [];
$("#add").click(function(){
var iduser = $("#idperson").val();
var name = $("#name").val();
if(people["idperson"]!=iduser){
people.push({idperson:iduser,nameperson:name});
}
console.log(people);
});
</script>
但它不起作用,因为当我在表单中输入信息时它会继续存储重复的 idperson 值:
如果我忘记了什么,我很抱歉,我是新手。
我该如何解决?我需要一些帮助。
解决方案
您可以检查输入数据是否存在于人员数组中。在此处检查工作代码。
谢谢
var people = [];
$(document).ready(function(){
$("#add").click(function(){
var iduser = $("#idperson").val();
var name = $("#name").val();
if(checkPersion({idperson:iduser,nameperson:name}) && people["idperson"]!=iduser){
people.push({idperson:iduser,nameperson:name});
} else {
console.log('User exist');
}
console.log(people);
});
function checkPersion(obj){
for(var i=0;i<people.length ;i++){
if(people[i].idperson == obj.idperson && people[i].nameperson == obj.nameperson ){
return false;
}
}
return true;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form">
<input type="text" id="idperson"><input type="text" id="name">
<button id="add" type="button">ADD</button>
</div>
推荐阅读
- algorithm - 实施快速排序时无法找出错误
- python - Error when checking target: expected dense to have 3 dimensions, but got array with shape (32, 200)
- apache-spark - Broadcast hash join - Iterative
- python - 用于聊天的 Python TCP 套接字
- java - Java 请求类型 AWS Lambda 授权方
- c# - 在另一个 C++ 回调函数中从 C++ 回调到 C#
- java - 从复杂的下拉列表中获取选择值
- python - conda 找不到已安装的模块
- python - 仅将最新的实例对象添加到元组列表中
- mysql - MySQL 服务器未启动