1.遍歷陣列法
它是最簡單的陣列去重方法(indexof方法)
實現思路:新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候(indexof為-1)就加入該新陣列中;
var arr=[2,8,5,0,5,2,6,7,2];function unique1(arr)
} return hash;
}
2.陣列下標判斷法
呼叫indexof方法,效能和方法1差不多
實現思路:如果當前陣列的第 i 項在當前陣列中第一次出現的位置不是 i,那麼表示第 i 項是重複的,忽略掉。否則存入結果陣列。
function unique2(arr)3.排序後相鄰去除法} return hash;
}
實現思路:給傳入的陣列排序,排序後相同的值會相鄰,然後遍歷排序後陣列時,新陣列只加入不與前一值重複的值。
function unique3(arr)4.優化遍歷陣列法(推薦)} return hash;
}
實現思路:雙層迴圈,外迴圈表示從0到arr.length,內迴圈表示從i+1到arr.length
將沒重複的右邊值放入新陣列。(檢測到有重複值時終止當前迴圈同時進入外層迴圈的下一輪判斷)
function unique4(arr)5.es6實現}hash.push(arr[i]);
} return hash;
}
基本思路:es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。
set函式可以接受乙個陣列(或類似陣列的物件)作為引數,用來初始化。
function unique5(arr)
擴充套件:如果重複,則去掉該元素
陣列下標去重
function unique22(arr)} return hash;
}
JS遍歷陣列,實現陣列去重(重複的元素只保留乙個)
1.遍歷陣列法 它是最簡單的陣列去重方法 indexof方法 實現思路 新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候 indexof為 1 就加入該新陣列中 var arr 2,8,5,0,5,2,6,7,2 function unique1 arr return hash 2.陣列下標判斷...
JS實現陣列去重(重複的元素只保留乙個)
1.遍歷陣列法 它是最簡單的陣列去重方法 indexof方法 實現思路 新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候 indexof為 1 就加入該新陣列中 var arr 2,8,5,0,5,2,6,7,2 function unique1 arr return hash 2.陣列下標判斷...
JS實現陣列去重(重複的元素只保留乙個)
1.遍歷陣列法 它是最簡單的陣列去重方法 indexof方法 實現思路 新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候 indexof為 1 就加入該新陣列中 var arr 2,8,5,0,5,2,6,7,2 function unique1 arr return hash 2.陣列下標判斷...