1.最便捷的方法: […new Set(arr)]
const arr = [4,5,3,4,6,5,8,6];
console.log(Array.from(new Set(arr))) // [4, 5, 3, 6, 8]
console.log([…new Set(arr)]) // [4, 5, 3, 6, 8]
2.recude+include去重
const arr1 = [4,5,3,4,6,5,8,6];
const a1 = arr1.reduce((prev,cur) => prev.includes(cur) ? prev : […prev,cur],[]);
console.log(a1) // [4, 5, 3, 6, 8]
3.利用filter去重
const arr2 = [4,5,3,4,6,5,8,6];
const b = arr2.filter((item, index, arr2) => arr2.indexOf(item, 0) === index) // [4, 5, 3, 6, 8]
4.利用hasOwnProperty去重
const arr3 = [4,5,3,4,6,5,8,6];
function duplicate (arr) {
var obj = {};
return arr3.filter(function(item, index, arr3){
return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true)
})
}
console.log(duplicate(arr3)) // 4, 5, 3, 6, 8]