複習陣列去重

2022-05-16 12:05:30 字數 837 閱讀 1913

var a = [3, 62, null, 0, 38, undefined, nan,nan, ' ', 38, " "];

不能區別nan '' ""

// 優點:**簡潔,速度快 時間複雜度o(n)

//缺點:需要乙個額外的set和array的儲存空間,空間複雜度 o(n)

function uniquearray(arr)

console.log(uniquearray(a))

不能區別 null undefined '' ""

// 優點:不需要使用額外的儲存空間,空間複雜度為o(1)

// 缺點:需要頻繁的記憶體移動,雙重迴圈,時間複雜度為o(n2)

function spliceunique(arr)}}

return arr;

}console.log(spliceunique(a))

// 3.array indexof 能區別 null undefined '' ""

// 時間複雜度為o(n2),空間複雜度為o(n)

function arrayunique(arr)

}return arr;

}console.log(arrayunique(a))

// 4.array+object 能區別 null undefined '' "" nan

function objectunique(arr),array = ;

for(let i=0;iif(!obj[arr[i]])

}return array;

}console.log(objectunique(a))

筆試演算法複習 陣列去重

第一種 雜湊表的思想 效能最好 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。優點 不論雜湊表中有多少資料,查詢 插入 刪除 有時包括刪除 只需要接近常量的時間即0 1...

JS陣列去重,物件去重

例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...

js陣列去重以及陣列內物件去重

大家在寫專案的時候一定遇到過這種邏輯需求,就是給乙個陣列進行去重處理,還有一種就是給陣列內的物件根據某乙個屬性,比如id,進行去重,下面我寫了兩個函式,都是可以達到這個效果的,乙個是純es5的去重辦法,乙個是用了es6的array.from new set 和es5的reduce來進行去重 我先定義...