陣列去重 資料去重的四種方法

2021-08-19 02:42:03 字數 984 閱讀 2464

第一種:利用hash的原理去重即排序

var arr=[1,1,1,2,2,2,55,5,4,4,88];

var brr=;

//去重複,利用相同下標的多次賦值以最新的為準;

for(var i=0;i

brr[arr[i]]=arr[i];//這個命令主要是去重;因為brr的下標會arr的元素;如果出現元素重複,那麼視為下標相同; }

console.log(brr);//此時得到陣列是乙個被擴大化的索引陣列,所以我們要重新處理取出有效元素形成新陣列

var crr=;

for(var j=0;j

if(brr[j]!=undefined) }

console.log(crr);

brr=null;

第二種:利用splice來進行陣列去重

var arr=[1,1,1,2,2,2,55,5,4,4,88];

for(var n=0;nn;j--)}}

console.log(arr)

第三種:以hash陣列天然去重的特性;

我們需要將索引陣列arr轉化為hash陣列;

var arr=[1,1,1,2,2,2,55,5,4,4,88];

var nrr=;

for(var n=0;n

nrr["n"+arr[n]]=arr[n];//此時得到的是乙個hash陣列; }

console.log(nrr);

arr=;

//轉化為做引陣列;

for(var key in nrr)

console.log(arr);

第四種:最簡式的一種;

兩兩對比;去除不相同的元素;

var arr=[1,1,1,2,2,2,55,5,4,4,88];

var brr=;

for(var i=0;i

if(arr[i]!=arr[i+1]) }

console.log(brr);

陣列去重的四種方法

思路 定義乙個新陣列,並存放原陣列的第乙個元素,然後將元素組一一和新陣列的元素對比,若不同則存放在新陣列中。function unique arr if repeat return res 思路 先將原陣列排序,在與相鄰的進行比較,如果不同則存入新陣列 function unique arr ret...

陣列去重的四種方法

1 利用 es6 set去重 function unique arr var arr 1 1,true true true true,15 15,false false undefined,undefined,null null nan nan nan 0 0,a a console.log uni...

陣列中的鍵值對去重 陣列去重

陣列去重 將陣列中重複的元素找出來並刪減為乙個。目的很簡單,方法倒有很多,以至於我費盡心思去考慮各種方法的好處壞處並進行對比,最終得出在各種場合適用的不同方法。希望有不同意見的儘管指出來。方法1 function unique1 array 原理 新定義乙個陣列,結合乙個物件輔助 時間複雜度 o n...