怎麼用js去除一組數據中重複的元素?

怎麼去除一組數據中重複的元素?

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
]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章