版权声明:本文为博主原创文章,未经博主容许不得转载。 https://blog.csdn.net/longzhoufeng/article/details/78840974
第一种方法:可是下面的这种方法数字字符串相似相同,返回的仍是真,有点不靠谱,若是是其它的字符是能够的
var ary11 =
new Array(
"1",
"ff",
"11",
"aa",
"2222");
function mm(a) {
return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test(
"\x0f" + a.join(
"\x0f\x0f") +
"\x0f");
}
mm(ary11)
alert(mm(ary11))
第二种方法:可是下面的这种方法数字字符串相似相同,返回的也仍是真,有点不靠谱,若是是其它的字符是能够的
var ary = [
"1",
"ff",
"11",
"aa",
"2222"]
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(
"11",
"222",
"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]);
}
}
第四种方法:这种方法应该不会有什么问题,这个使用了map相似的功能,没毛病,我用的就是这个
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
var ary =
new Array(
"1111",
"222",
"33",
"111",
"22");
alert(isRepeat(ary));
function isRepeat(arr) {
var hash = {};
for(
var i
in arr) {
if(hash[arr[i]]) {
return true;
}
hash[arr[i]] =
true;
}
return false;
}