JS判断数组⾥是否有重复元素的⽅法⼩结
本⽂实例讲述了JS判断数组⾥是否有重复元素的⽅法。分享给⼤家供⼤家参考,具体如下:
第⼀种⽅法:但是下⾯的这种⽅法数字字符串类似相同,返回的还是真,有点不靠谱,如果是其它的字符是可以的var ary11 = new Array("1", "ff", "11", "aa", "2222");
// 验证重复元素,有重复返回true;否则返回false
function mm(a) {
return /( 0f[^ 0f]+) 0f[\s\S]*\1/.test(" 0f" + a.join(" 0f 0f") + " 0f");
}
mm(ary11)
alert(mm(ary11))
第⼆种⽅法:但是下⾯的这种⽅法数字字符串类似相同,返回的也还是真,有点不靠谱,如果是其它的字符是可以的var ary = ["1", "ff", "11", "aa", "2222"]
var s = ary.join(",") + ",";
for(var i = 0; i < ary.length; i++) {
place(ary[i] + ",", "").indexOf(ary[i] + ",") > -1) {
alert("数组中有重复元素:" + ary[i]);
break;
}
}
第三种⽅法:这种⽅法好像不会有什么问题
var ary = new Array("11", "222", "33", "111", "22");
sort函数 jsvar nary = ary.sort();
for(var i = 0; i < nary.length - 1; i++) {
if(nary[i] == nary[i + 1]) {
alert("重复内容:" + nary[i]);
}
}
第四种⽅法:这种⽅法好像不会有什么问题
var ary = new Array("1111", "222", "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;
}
PS:这⾥再为⼤家提供⼏款相关⼯具供⼤家参考使⽤:
更多关于JavaScript相关内容还可查看本站专题:《》、《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家JavaScript程序设计有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论