]方法一:
雙層迴圈,外層迴圈元素,內層迴圈時比較值
如果有相同的值則跳過,不相同則push進陣列
array.prototype.distinct = function()
} result.push(arr[i]);
} return result;
}var array = [1,2,3,4,4,1,1,2,1,1,1];
array.distinct(); //返回[3,4,2,1]
array.sort(function (x,y) );
方法二:利用物件的屬性不能相同的特點進行去重
array.prototype.distinct = function (),
result = ,
len = arr.length;
for(i = 0; i< arr.length; i++)
} return result;
};var a = [1,2,3,4,5,6,5,3,2,4,56,4,1,2,1,1,1,1,1,1,];
var b = a.distinct();
array.sort(function (x,y) );
方法三:利用新陣列indexof查詢
方法四:利用hash陣列
方法五es6:
[...new set(arr)].sort()
另外:filter去重
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexof(x)===index)
console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]
json陣列去重
/*
* json陣列去重
* @param: [array] json array
* @param: [string] 唯一的key名,根據此鍵名進行去重
*/ function uniquearray(array, key)
}if (!repeat)
} return result;
}
js 陣列合併並且去重
一 陣列合併的兩種方法 1 concat 合併陣列,並且不去重 var arr1 ab bc de fg var arr2 ml kg ww bc am var arr3 arr1.concat arr2 console.log arr3 2 自定義陣列合併並去重函式 var arr1 ab bc ...
去重排序 JS 陣列去重
陣列去重算是面試題裡常見的考點了,之前在 medium 上看到一篇文章用三種方法實現陣列去重的,感覺十分簡潔。主要用到的是 set,array.filter,array.reduce。可能第一種大家都知道,方方也講過基數排序來去重,但是能用 filter,reduce 寫成這樣的真的很簡潔呀。let...
JS陣列去重,物件去重
例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...