最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript判斷數(shù)組重復(fù)內(nèi)容的兩種方法(推薦)

 更新時(shí)間:2016年06月06日 17:11:00   作者:FungLeo  
本文給大家介紹兩種JavaScript判斷數(shù)組重復(fù)內(nèi)容的方法(推薦)非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧

前言

一般,我們可能會(huì)給數(shù)組去重,這個(gè)操作并不復(fù)雜,執(zhí)行一個(gè)循環(huán)就是了.現(xiàn)在,我要做的是,判斷數(shù)組中是否有重復(fù)的內(nèi)容,如果有,返回 true 否則,返回 false.

思路

把數(shù)組變成字符串

循環(huán)原數(shù)組,拿每一個(gè)字段和這個(gè)字符串進(jìn)行比對,看是否有重復(fù)

如何拿A字符串和B字符串進(jìn)行對比,并且要求判斷出B字符串中包含過個(gè)A字符串呢?

方法一 indexOf() 和 lastIndexOf() 對比法.

首先,我們構(gòu)建代碼:

var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);

如上,我們要用一個(gè)arrRepeat(arr)的校驗(yàn)函數(shù)并執(zhí)行,下面來構(gòu)建這個(gè)函數(shù)

function arrRepeat(arr){
var arrStr = JSON.stringify(arr),str;
for (var i = 0; i < arr.length; i++) {
if (arrStr.indexOf(arr[i]) != arrStr.lastIndexOf(arr[i])){
return true;
}
};
return false;
}

OK,運(yùn)行成功.

運(yùn)行結(jié)果

原理特別簡單,就是,數(shù)組中的字段,在由數(shù)組變成的字符串中的首次出現(xiàn)位置和最后一次出現(xiàn)位置是否一致,如果不一致,就說明這個(gè)重復(fù)出現(xiàn)了.

方法二 match() 正則對比方法

首先,和上面一樣,我們構(gòu)建代碼:

var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);

然后,我們重新構(gòu)建arrRepeat(arr)函數(shù)

function arrRepeat(arr){
var arrStr = JSON.stringify(arr),str;
for (var i = 0; i < arr.length; i++) {
if ((arrStr.match(new RegExp(arr[i],"g")).length)>1){
return true;
}
};
return false;
}

原理是查找確定的重復(fù)次數(shù),如果是大于1的話,就肯定是重復(fù)了.注意,這里是能夠準(zhǔn)確的查找出出現(xiàn)了幾次的哦!所以,這個(gè)方法其實(shí)有更廣泛的用途.

OK,運(yùn)行又一次成功

運(yùn)行結(jié)果二

總結(jié)

如果僅僅是比對第一個(gè)方法其實(shí)足夠用了.

第二個(gè)方法可以查找出現(xiàn)的真實(shí)次數(shù),比如重復(fù)了4次,就能找到4.具體的用途自己思考咯.

構(gòu)建包含變量的正則的方法new RegExp(arr[i],"g")也是問別人才問出來的.

其實(shí)我先想到的是第二個(gè)思路,正則的問題困擾半天,終于解決了.才想到第一個(gè)思路的.

以上所述是小編給大家介紹的JavaScript判斷數(shù)組重復(fù)內(nèi)容的兩種方法(推薦),希望能夠幫助到大家!

相關(guān)文章

最新評論

宿州市| 丰宁| 汾阳市| 荆州市| 成武县| 开江县| 且末县| 泸溪县| 濮阳县| 垫江县| 伊吾县| 澜沧| 阿图什市| 郑州市| 贵德县| 博客| 平南县| 斗六市| 延安市| 哈尔滨市| 古交市| 昭觉县| 吐鲁番市| 雷波县| 太康县| 岳普湖县| 广灵县| 车险| 高陵县| 运城市| 武山县| 台南市| 上饶市| 德阳市| 腾冲县| 德格县| 怀化市| 沧州市| 遂溪县| 澜沧| 云浮市|