最近在做項目的過程中總是會遇到數據數組的去重問題,經過程序的多次修改現總結如下:
數據去重
代碼如下var zdata = [];
cityaname = result.aname;
isp_cityname = $('.isp_cityname' + monitorip_arr[num]).html();
if (zdata[cityaname]) {
zdata[cityaname][zdata[cityaname].length] = {"value" : result.totaltime,"name" : isp_cityname, "stateInitColor":"3"};
} else {
zdata[cityaname] = [];
zdata[cityaname][0] = {"value":result.totaltime, "name" : isp_cityname, "stateInitColor":"5"};
}
php也可以用這個思想,而且php的要比js的簡單的多。。。
數組去重
代碼如下
//第二種方法
Array.prototype.distinct=function(){
var newArr=this.concat().sort(),self=this;
newArr.sort(function(a,b){
var n;
if(a===b){
n=self.indexOf(a);
self.splice(n,1);
}
});
return self;
}
console.log([1,2,2,3,'5',6,5,6,6,15,5,'5',5,'',' '].distinct());