永发信息网

jquery 判断数组里是否存在重复

答案:2  悬赏:50  手机版
解决时间 2021-03-05 07:32
jquery 判断数组里是否存在重复
最佳答案
// 方法一,正则判断
var ary = new Array("111","222","33","112","222");
alert(mm(ary))
// 验证重复元素,有重复返回true;否则返回false
function mm(a)
{
return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+a.join("\x0f\x0f") +"\x0f");
}

// 方法二,通过数组排序,比较临近元素,可指出重复的元素
var ary = newArray("111","22","33","111","22");
var nary = ary.sort();
for(var i = 0; i < nary.length - 1; i++)
{
if (nary[i] == nary[i+1])
{
alert("重复内容:" + nary[i]);
}
}

// 方法三,通过字符串查找
var ary = newArray("111","22","33","111","22");
var s = ary.join(",") +",";
for(var i = 0; i < ary.length; i++)
{
if(s.replace(ary[i] + ",", "").indexOf(ary[i] +",") > -1)
{
alert("重复内容:" + ary[i]);
}
}

// 方法四,通过哈希
var ary = newArray("111","22","33","111","22");
alert(isRepeat(ary));
// 验证重复元素,有重复返回true;否则返回false
function isRepeat(arr) {
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
{
return true;
}
// 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可
hash[arr[i]] = true;
}
return false;
}
全部回答
function Each(list, fun){ 
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); } 
}; 
var arr = [1,2,3,4,1,3] 
var t 
Each(arr.sort(), function(o,i){ 
if(i>0 && o == t){ alert("相同的:" + o); } 
alert(t) 
t = o; 
})
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
球球大作战被拉黑会怎么样?
马上就要相亲了,因为自己个子比较矮,所以决
丽声电器地址在什么地方,想过去办事
【We're looKing for spring怎么读?】
梦见拔头发
自然堂 分钟寺华润万家店怎么样
水管铜配件丝口哪个品牌质量好?
联想WIN7 OEM 32位 旗舰版 安装方法
国产航发高温合金有多少用国产的
吉祥馄饨·面光荣路店在哪里啊,我有事要去这
寒假作业丢了怎么办
如果想在淘宝卖机油的话,该怎么发快递
利润分配账户的性质是()A.所有者权益类B.负
神鬼寓言中可以跳跃吗?
彩虹花艺喜铺在哪里啊,我有事要去这个地方
推荐资讯
康佳和创维4K55寸哪个质量好
蔡三村体育公园我想知道这个在什么地方
怎么取消招行信用卡
平安贷款可以2次贷吗
中国东莞电信打什麽号码查话费?打长途加什麽
一个女同学把我领到她住的地方,屋里就我们两
从哪里可以给淘友在淘宝分享购物清单然后拆红
目前一些地方在公开招聘中,出现了以貌相、身
套内面积82平用8ox80的瓷砖要用多少块瓷砖?
初三好累6门功课每天晚上要背书!还要写作业每
歌词一生中后面铁骨柔情是什么粤语歌
1/3 bjd haazel和国内哪家娃社身体最配【litt
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?