标签:
一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true
否则,返回 false
.
思路
如何拿A字符串
和B字符串
进行对比,并且要求判断出B字符串
中包含过个A字符串
呢?
首先,我们构建代码:
var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);
如上,我们要用一个arrRepeat(arr)
的校验函数并执行,下面来构建这个函数
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,运行成功.
原理特别简单,就是,数组中的字段,在由数组变成的字符串中的首次出现位置和最后一次出现位置是否一致,如果不一致,就说明这个重复出现了.
首先,和上面一样,我们构建代码:
var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);
然后,我们重新构建arrRepeat(arr)
函数
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;
}
原理是查找确定的重复次数,如果是大于1的话,就肯定是重复了.注意,这里是能够准确的查找出出现了几次的哦!所以,这个方法其实有更广泛的用途.
OK,运行又一次成功
new RegExp(arr[i],"g")
也是问别人才问出来的.本文由FungLeo原创,允许转载.但转载必须署名作者,并保留文章首发链接.否则将追究法律责任.
首发地址:http://blog.csdn.net/FungLeo/article/details/51596404
javascript 判断数组中的重复内容的两种方法 by FungLeo
标签:
原文地址:http://blog.csdn.net/fungleo/article/details/51596404