JavaScript检测数组重复元素的两种实现方式
作者:拾光时间:2026-10-22 18:07:02浏览:649
本文介绍在JavaScript中检测数组是否包含重复元素的两种方法。第一种通过扩展Array原型实现in_array函数,第二种利用对象键值映射进行快速查找。结合HTML输入框与按钮交互,演示如何阻止用户添加已存在的值,适用于表单验证等场景。
JavaScript检测数组重复元素的两种实现方式
这里提供两个用于在数组中查找重复元素的示例,供参考使用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="Values" style="width: 100px;height: 25px;">
<button id="gain">获取</button>
<!--gain-->
</body>
<script src="jquery-2.2.2.min.js"></script>
<script type="text/javascript">
//方法一
var arr1 = ["11", "22", "33", "44"];
var arr=new Array(arr1);
Array.prototype.in_array=function(e){
var r=new RegExp(','+e+',');
return (r.test(','+this.join(this.S)+','));
};
$("#gain").on("click",function () {
var newValue=$("#Values").val();
console.log(newValue);
if(arr.in_array(newValue)){
alert("已重复,请不要重复添加");
}else {
arr1.push(newValue);
console.log(arr1);
}
})
//方法二
function isArr(arr,value) {
for(var i=0;i<arr.length;i++){
if(value===arr[i]){
return true;
}
}
return false;
}
var arr2 = ["11", "22", "33", "44"];//用于进行比较的数组
$("#gain").on("click",function () {
var value2=$("#Values").val();
if(isArr(arr2,value2)){
alert("已重复,请不要重复添加")
}else {
arr2.push(value2);
console.log(arr2);
}
})
</script>
</html>
总结
以上介绍了JavaScript检查数据中是否存在相同元素的两种方法,希望对大家有所帮助。如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
