多維陣列去重

2021-10-03 08:00:27 字數 440 閱讀 1689

假如有這樣乙個陣列,要求找出陣列兩兩之間name相同的元素,並標記其所在陣列的索引。

var arr = [[,

,,,],

[,,,

,],[,

,,,],

[,,,

,]

]

開始想到的笨方法就是陣列兩兩遍歷,但當資料量大的時候,這種方法的效率是極其低的,於是思考,如何能在遍歷一次的情況下,實現這個功能。

var obj = {};

arr.foreach((arr1,index) => else

})})

如上,只遍歷一次,可以記錄下所有重複出現過的元素和索引。哪怕是維度再多的陣列,也可以通過這樣的方式通過一次遍歷實現去重。

當感覺乙個問題複雜的時候,換個角度思考,說不定就會有簡單的解決辦法。

PHP多維陣列去重

最近用到了乙個獲取歷史會議列表的問題,需要去這個多維陣列去重後返回返回給客戶端,這裡使用了幾個php的組裝函式,分享下,示例 如下 str res json decode str,true echo num count res result print r res result echo rrr r...

多維vector去重

1 先sort,然後才可能做unique 2 unique完了之後,iterator指向最後乙個元素之後,於是erase從此處至end 即可。這裡比較神奇的是sort和unique可以直接比較2個一維 vector的大小。具體 如下 include include include using nam...

python多維list去重

一維的list去重可以用set list 但是二維的list轉set就會報錯 unhashable type list 原因是set傳進來的是不可雜湊的變數 python中那麼哪些是可雜湊元素?哪些是不可雜湊元素?可雜湊的元素有 int float str tuple 不可雜湊的元素有 list s...