Array.prototype.unique = function(){ var n = {} , r = []; //n为hash表,r为临时数组 for(var i = 0; i < this.length; i++){ if(!n[this[i]]){ //如果hash表中没有当前项 n[this[i]] = true; //存入hash表 r.push(this[i]); //把当前数组的当前项push到临时表数组里 } } return r; }