将yjTeacherId.concat(sids)这个数组中相同项去掉。用jquery
第一种
//去除有相同id的id。[1,2,2,3]=[1,2,3]
upTeacherId=yjTeacherId.concat(sids).join(",");
第二种
//去除有相同id的两个id。[1,2,2,3]=[1,3]
upTeacherId=yjTeacherId.concat(tids).join(",");
用jquery干嘛,js几行代码就搞定了
var arr=[1,2,3,2,3,5,1];
function unique(arr,removeAll){
arr.sort(function(a,b){return a-b});//先排序
var s=arr.join(',')+',';
arr= s.replace(/(\d+,)\1+/g,removeAll?'':'$1').replace(/,$/,'').split(',');
for(var i=0;i<arr.length;i++)arr[i]=parseInt(arr[i],10);//重新转为数字
return arr
}
console.log(unique(arr))//[1,2,3,5]
console.log(unique(arr,true))//[5]
http://blog.sina.com.cn/s/blog_855dfd9e01018l2a.html
用这个:
$.unique()
//去除数组中重复的项
var array=[1,2,3,3,2,4,5,8,2,1];
uniQueue(array);
function uniQueue(array){
var arr=[];
var m;
while(array.length>0){
m=array[0];
arr.push(m);
array=$.grep(array,function(n,i){
return n==m;
},true);
}
return arr;
}
结果:[1,2,3,4,5,8]
http://www.cnblogs.com/AndyWithPassion/archive/2011/06/20/jquery_array_process.html
遍历数组,位图法,统计元素个数,超过1的,不加入结果的数组
$.unique()这个方法最简洁了。
//1移除一个数组里重复的数字: 创建一个对象,利用对象的属性值进行判断后才对目标数组操作
function removeDuplicate(arr){
var exists = {}, outArr = [], ele;
for(var i=0;i<arr.length;i++){
ele = arr[i];
if(!exists[ele]){
outArr.push(ele);
exists[ele] = true;
}
}
return outArr;
}
alert(removeDuplicate([1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1,3]));
//2 利用indexOf 和 forEach
function removeDups(arr){
var nonDups = [];
arr.forEach(function(value){
if(nonDups.indexOf(value) == -1){
nonDups.push(value);
}
});
return nonDups;
}
alert(removeDups([1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1,3]));
</script>