javascript - 使用 If 语句检查值的有效方法未在 Javascript 或 JQuery 中使用
问题描述
我在我的 HTML 文档中有四个文本框说 textbox1、textbox2、textbox3、textbox4,在按钮上单击 btn1 我想确保在所有四个文本框中输入的所有值都是不同且唯一的。我正在使用 if 条件。
$("#btn1").on("click", function(){
if($("#textbox1").val() === $("#textbox2").val() ||
$("#textbox1").val() === $("#textbox3").val() ||
$("#textbox1").val() === $("#textbox4").val() ||
$("#textbox2").val() === $("#textbox3").val() ||
$("#textbox2").val() === $("#textbox4").val() ||
$("#textbox3").val() === $("#textbox4").val() )
{ alert("Values are not unique please check them."); }
});
有没有比这更短的方法?
解决方案
你可以用一个数组来做一个集合。该集合删除了欺骗,因此如果长度不匹配,则存在欺骗。
function checkIfArrayIsUnique(myArray) {
return myArray.length === new Set(myArray).size;
}
$("button").on("click", function () {
var vals = $(".tb").map( function () { return this.value }).get()
console.log(checkIfArrayIsUnique(vals))
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<input type="text" class="tb" />
<input type="text" class="tb" />
<input type="text" class="tb" />
<input type="text" class="tb" />
<button type="button">Check</button>
如果您正在寻找没有大小写的唯一文本,您可能需要“规范化”这些值。示例“aaa”与“AAA”....
推荐阅读
- c# - 在 wwwroot 下部署自定义静态文件夹
- sql - 将 varchar 变量转换/获取为 YYYYMM
- postgresql - 我需要旋转表格并获取受人尊敬的 ID 的每一年的计数
- ckeditor - TYPO3:CKEditor:不显示某些类
- python - 如何在 Python/Pandas 中使用“长”格式的数据计算同一列中的值之间的差异
- java - 用静态方法VS静态void反转数组?
- python - 使用外键集过滤器注释时结果错误
- html - HTML 包括一个导航栏(带有工作 css)
- python - 如何修复 change() 函数中重复的 root.mainloop() 调用?我想通过滚动条的变化来改变图像
- npm - 未处理的拒绝错误:EISDIR:对目录的非法操作