// 数组去重的方法 var hash = [];//创建一个空数组,作为对比 function qc(arr){ for(var i=0;i<arr.length;i++){ if(hash.indexOf(arr[i])==-1){//遍历数组,hash[]中若没查到与arr[i],就把arr[i] push进hash中 hash.push(arr[i]); }else{ console.log(arr[i]) } } console.log(hash) } var arr = [1,5,3,4,5,6,5,3,5,3]; qc(arr); Array.prototype.unique3 = function(){ //给内置对象数组创建一个原型对象 var res = []; var json = {}; for(var i = 0; i < this.length; i++){ //this指的就是Array,遍历数组,如果json对象中没有数组中的某个元素,那么就把this[i] push进res,同时往json对象中添加一个,便于之后遍历对比判断 if(!json[this[i]]){ res.push(this[i]); json[this[i]] = 1; } } console.log(json); return res; } var arr = [112,112,34,'你好',112,112,34,'你好','str','str1']; arr.unique3()