jquery 判断数组中是否有重复值

jquery 判断数组中是否有重复值,第1张

1、通过正则判断。

var ary = new Array("111","ff","222","aa","222")

alert(mm(ary))

// 验证重复元素,有重复返回true;否则返回false

function mm(a){return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+a.join("\x0f\x0f") +"\x0f")}

2、通过数组排序,比较临近元素,可指出重复的元素。

var ary = new Array("111","22","33","111","22")

var nary = ary.sort()

for(var i = 0i <nary.length - 1i++){

if (nary[i] == nary[i+1]){alert("重复内容:" + nary[i])}

}

3、通过字符串查找。

var ary = new Array("111","22","33","111","22")

var s = ary.join(",") +","

for(var i = 0i <ary.lengthi++){

if(s.replace(ary[i] + ",", "").indexOf(ary[i] +",") >-1){alert("重复内容:" + ary[i])}

}

4、通过哈希

var ary = new Array("111","22","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

}

无论jquery和原生js,去除重复数据都没有直接的方法。方法无非是下面两个:

第一、根据json数据字段的唯一性

var a = ["a","ss","a","c"],b={}

$.each(a,function(i,val){

if (b[val]) a.splice(i,1)

})

第二种方法,无非就是双循环,逐个判断老数组的元素与新数组的原始是不是一样。代码就不写了,也不太推荐


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6692748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存