1Array.prototype.distinct =function() {2vararr =this,3result =[],4len =arr.length;5arr.forEach(function(v, i, arr) {//这里利用map,filter方法也可以实现6varbool = arr.indexOf(v, i + 1);//从传入参数的下一个索引值开始寻找是否存在重复7if(bool === -1) {8result.push(v);9}10}...
document.write(""); document.write('去重复后:'+x.distinct()); 方法二:取重复数据 Array.prototype.distinct=function(){ var a=[],b=[],c=[],d=[]; for(var prop in this){ var d = this[prop]; if (d===a[prop]) { continue; }//防止循环到prototype if (b[d]!=1){ a.push...
(1)ES6的Set去重 function distinct(array) { return Array.from(new Set(array)); } 说明...
var b = a.distinct(); console.log(b.toString()); //1,23,2,3 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 方法六:利用ES6的set Set数据结构,它类似于数组,其成员的值都是唯一的。 利用Array.from将Set结构转换成数组 function dedupe(array){ return Array.from(new Se...
方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 Array.prototype.distinct = function(){ var arr = this, ...
方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 Array.prototype.distinct = function(){...
function arrDistinct(array) { let newArr = []; for (let i = 0; i < array.length; i++) { //开闭原则 let bool = true; //每次都要判断新数组中是否有旧数组中的值。 for (let j = 0; j < newArr.length; j++) { if (array[i] === newArr[j]) { ...
log(result); // 输出: [1, 2, 3, 4] 在这个示例中,我们定义了一个名为 distinct 的函数,它接受一个数组作为参数,并返回一个去重后的新数组。我们使用 Set 数据结构来移除重复的元素,然后使用 Array.from 方法将 Set 转换回数组。最后,我们打印出去重后的数组 result,可以看到每个元素都只出现了一次。
Array.prototype.distinct3=function(){letresult=[];letobj={};for(letxofthis){if(!obj[x]){obj[x]=x;result.push(x);}}returnresult;} 遍历(不会产生新的数组) Array.prototype.distinct4=function(){letarr=this;leti=0;//对数组进行去重for(i=0;i<arr.length;++i){if(arr[i]===arr[i+...
charset=utf-8"/>TestArray.prototype.distinct=function(){var$ =this;varo1 = {};//存放去重复值varo2 = {};//存放重复值varo3 = [];//存放重复值varo;//数组单个变量for(vari=0;o = $[i];i++){if(oino1){if(!(oino2)) o2[o] = o;delete$[i]; }else{ o1[o] = o; } } $....