第一、根据json数据字段的唯一性
var a = ["a","ss","a","c"],b={}
$.each(a,function(i,val){
if (b[val]) a.splice(i,1)
})
第二种方法,无非就是双循环,逐个判断老数组的元素与新数组的原始是不是一样。代码就不写了,也不太推荐
filterTransFer(arr) { // arr:需要过滤排查的数组
consthash= {}
constnewArr=arr.reduceRight((item,next)=>{
hash[next.id] // next.id只是其中一个条件
?''
: (hash[next.id] =true&&item.push(next))
returnitem
}, [])
this.transferList=newArr //newArr就是过滤后的数组,需要重新赋值
},
由于现在还没有看到js的对象,所以,就先用本方法写去除数组中重复元素的本方法了,后面再修改咯。代码如下:function f1(arr) {
var len = arr.length
for(var i=0i<len-1i++){
for(var j=i+1j<lenj++){
//如果元素相等了,就删除后面的那个元素
if(arr[i] == arr[j]){
arr.splice(j,1)//删除元素
}
}
}
alert(arr)
}
//定义一个有重复数据的待操作的数组
var arr = ['qiang','ming','tao','li','liang','you','you','qiang','tao','li']
f3(arr)