怎麼去除一組數據中重複的元素?
function removeDuplicates(array) {
var temp={}
var result =[]
for (let i = 0; i < array.length; i++) {
if (!temp[array[i]]) { //如果設置當前元素的值不爲true
temp[array[i]] = true //設置當前元素的值爲true
result.push(array[i])//推進新數組
}
}
// console.log(temp);
return result;
}
var arr = [1,0,1,3,45,6,2,3,4,2,8,9,0,2]
console.log(removeDuplicates(arr));
根據對象的方法來解答,將數組的元素作爲對象的key,第一次出現這個key,就把這個key的value賦值爲true,後面數組再出現這個元素就可以訪問到true這個屬性。非常巧妙的解決了這個問題。
下面是打印出來的temp對象和去重的結果,方便理解。
{
'0': true,
'1': true,
'2': true,
'3': true,
'4': true,
'6': true,
'8': true,
'9': true,
'45': true
}
[
1, 0, 3, 45, 6,
2, 4, 8, 9
]