iOS 陣列去重

2021-07-08 10:30:04 字數 771 閱讀 3952

.利用nsdictionary的allkeys(allvalues)方法

可以將nsarray中的元素存入乙個字典,然後利用allkeys或者allvalues取得字典的所有鍵或值,這些鍵或值都是去重的。

示例**:

nsarray *arr = @[@111,@222,@111];

nsmutabledictionary*dict = [nsmutabledictionary

dictionary];

for (nsnumber *number in arr)

nslog(@"%@",[dict allvalues]);

輸出結果為:

2013-05-21 12:03:49.449 test1[4377:c07] (

111,

222)

2.利用nsset的allobjects方法

這種方法更快,利用nsset不會新增重複元素的特性。不過去重的陣列沒有進行排序,如果需要排序,可以使用nssortdescriptor類。

示例**:

nsarray *arr = @[@111,@222,@111];

nsset *set = [nsset

setwitharray:arr];

nslog(

@"%@"

,[set allobjects]);

輸出結果為:

2013-05-21 12:06:26.508 test1[4547:c07] (

111,

222)

iOS陣列去重總結

一般情況下我們都要對陣列進行去重整理,我總結了以下幾種方法,廢話不多說,一一分析 一 利用字典 nsarray arr qq ww qq nsmutabledictionary dict nsmutabledictionary dictionary for nsstring str in arr n...

iOS陣列的去重

近來,專案中遇到了陣列去重的需求,自己想了下,建立另乙個陣列加判斷條件來新增原陣列的元素 但是上面那種方法的時間複雜度是 n 2 下面這個方法 nsarray arr 1 2 1 3 1 2 3 2 nsorderedset set nsorderedset alloc initwitharray ...

JS陣列去重,物件去重

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