|
比如有這么一組數(shù)組,里面放了20個18位的身份證號碼
要判斷里面的身份證號碼是否有重復(fù)
如何快速判斷?
復(fù)制代碼 代碼如下:
var ary = new Array("111","22","33","111");
var s = ary.join(",")+",";
for(var i=0;i<ary.length;i++)
{
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1)
{
alert("有重復(fù)!");
}
}
復(fù)制代碼 代碼如下:
var ary = new Array("111","22","33","111");
var nary=ary.sort();
for(var i=0;i<nary.length-1;i++)
{if (nary[i]==nary[i+1])
{alert("重復(fù)內(nèi)容:"+nary[i]);}
}
活用正則表達(dá)式里的 /1 (第一個匹配結(jié)果)
先用 join() 把數(shù)組轉(zhuǎn)換成字符串且夾塞指定的分隔符 /x0f(這種分隔符用戶一般是輸不進(jìn)來的),這一步純粹是為簡化且精確腳本而做。
這種模式是我寫 MzTreeView 的時候想出來的招數(shù),可以跳過 for 循環(huán)達(dá)到極端的效率。
復(fù)制代碼 代碼如下:
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
return true;
hash[arr[i]] = true;
}
return false;
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
JavaScript技術(shù):javascript如何判斷數(shù)組內(nèi)元素是否重復(fù)的方法集錦,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。