问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JS判断数组中是否有重复值得三种实用方法

发布网友 发布时间:2022-04-22 13:50

我来回答

1个回答

热心网友 时间:2022-04-22 15:35

JS判断一个数组中是否有重复值的三种方法

方法一:

//将数组转换成字符串,遍历数组,移除一个元素後若还能找到该元素,那么这个元素就是重复的
var s = ary.join(",")+",";
for(var i=0;i<ary.length;i++) {
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) {
alert("数组中有重复元素:" + ary[i]);
break;
}
}

方法二:

//对数组进行排序,查上一个和下一个是否相等

var ary = new Array("111","22","33","111");
var nary=ary.sort();
for(var i=0;i<ary.length;i++){
if (nary[i]==nary[i+1]){
alert("数组重复内容:"+nary[i]);
}
}

方法三:

//以数组值为键,持续向一个对象里面加值,
//如果在加值之前就发现这个属性在对象中已经存在,那么他就是重复的

function isRepeat(arr){
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
return true;
hash[arr[i]] = true;
}
return false;
}

以上是简单类型数据数组的重复校验方法,若数组的元素为对象,处理方式就需要变化一下,取关键属性作为依据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
算命 小女子1988年正月初五早晨10点左右出生 1974年正月初五早上四点算命 为什么有的手机不支持双卡双待? 现有铁,氧化铜,氯化镁,氢氧化钙,稀硫酸等五种物质,在常温下他们两两发生... 女生什么时候最想要男朋友 什么时候会觉得自己需要一个男朋友 彭于晏称拍乘风破浪:接到韩寒私信以为黑客攻击 ...刚拍的照片移了一下所属相册位置,结果有些照片显示不出来了,是怎... ...打不开了是怎么回事!! 如下图!!!好多有意义的照片都不 2011年四川省专科征集志愿学校,志愿征集学院,网上填报志愿征集时间... js 如何判断数组为空 js 判断数组是否为空数组 js 判断是不是数组 前端面试题,js怎么判断数组类型? js 判断是否为数组 js如何判断是不是数组 js里怎么确定一个元素是不是数组 js里判断变量是数组还是对象的四种方法 js判断是否是数组及常见类型判断 js如何判断数组 Js中如何判断一个对象为数组类型 要怎么确定物业服务合同纠纷管辖法院 解决物业与业主的矛盾业主应该怎样做 关于物业服务合同纠纷的几个常见问题 物业服务合同纠纷有些什么特征 无效的物业服务合同纠纷如何处理 物业管理纠纷的处理依据有哪些? 最高人民法院关于审理物业服务纠纷案件是什么 常见的物业纠纷的解决办法有哪些? 有关物业的纠纷问题 JS 判断某变量是否为某数组中的一个值 的几种方法 怎么cmd看ip地址 cmd怎么查ip 挂相框的那个专用钉子叫什么? 无痕钉挂画使用方法 ps相框专用胶含有甲醛吗 挂在墙上的相框专用名词时什么 南阳那有卖钉角机做相框用的专用钉框四个角连接 购买数码相框的小窍门 数码相框的功能是什么 数码相框是怎么一回事? 怎样DIY创意相框 如何自制相框? 数码相框的发展 相框有什么问题吗 如何自制小相框? 怎样钉相框不会破坏墙体? 用友ERP U8固定资产缺省入账科目是指什么,干什么用的 用友软件固定资产中缺省入账科目是什么意思 用友ERP U8固定资产缺省入账科目是指什么,干什么用的