如何从 swift 2.0 中的 Dict 中删除重复值
how to remove Duplicate values from Dict in swift 2.0
嗨,我只想删除重复的对象,应该在 dictionary
中删除我正在 tableView
中填充它
这是我在 'CellForRowAtIndexPath'
中的示例代码
controller.titleName = dict["itemName"] as? String
我的输出:
{
itemName = test;
},
{
itemName = funny;
},
{
itemName = vv;
},
{
itemName = hhh;
},
{
itemName = west;
}
试试这个
let uniqueArr = Array(Set(dict.values))
首先,我认为你正在使用数组来制作字典,所以在加载之前 tableview/collectionview 从你的数组中删除所有复制的对象。
有一个选项你必须从 NSArray
创建 NSSet
所以在 NSSet 中所有复制的 object
自动删除。然后您必须从 NSSet
创建 NSArray
。
从数组转换集合如下
var set = NSSet(array: myarray)
为集合转换数组
var newarry = set.allObjects as NSArray
你的问题我单独试过了,得到了答案
var arr = [AnyObject]()
var arrAppend = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let array = ["one", "one", "two", "two", "three", "three"]
let uniqueValue = Array(Set(array))
print("The unique value is - \(uniqueValue)")
let dictTest = ["itemName":"test"]
let dictFunny = ["itemName":"funny"]
let dictVVV = ["itemName":"vvv"]
let dictHHH = ["itemName":"hhh"]
let dictWest = ["itemName":"west"]
let dictTT = ["itemName":"tt"]
let dictWest1 = ["itemName":"west"]
arr.append(dictWest1)
arr.append(dictTest)
arr.append(dictVVV)
arr.append(dictTT)
arr.append(dictWest)
arr.append(dictFunny)
arr.append(dictHHH)
print("Array Response: \(arr)")
for keyValue in arr as Array
{
let getDictValueFromArray = keyValue["itemName"] as! String
arrAppend.append(getDictValueFromArray)
}
let unique = Array(Set(arrAppend))
print("the result is-\(unique)")
}
unique 的输出是
the result is-["funny", "test", "west", "vvv", "hhh", "tt"]
嗨,我只想删除重复的对象,应该在 dictionary
中删除我正在 tableView
这是我在 'CellForRowAtIndexPath'
中的示例代码controller.titleName = dict["itemName"] as? String
我的输出:
{
itemName = test;
},
{
itemName = funny;
},
{
itemName = vv;
},
{
itemName = hhh;
},
{
itemName = west;
}
试试这个
let uniqueArr = Array(Set(dict.values))
首先,我认为你正在使用数组来制作字典,所以在加载之前 tableview/collectionview 从你的数组中删除所有复制的对象。
有一个选项你必须从 NSArray
创建 NSSet
所以在 NSSet 中所有复制的 object
自动删除。然后您必须从 NSSet
创建 NSArray
。
从数组转换集合如下
var set = NSSet(array: myarray)
为集合转换数组
var newarry = set.allObjects as NSArray
你的问题我单独试过了,得到了答案
var arr = [AnyObject]()
var arrAppend = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let array = ["one", "one", "two", "two", "three", "three"]
let uniqueValue = Array(Set(array))
print("The unique value is - \(uniqueValue)")
let dictTest = ["itemName":"test"]
let dictFunny = ["itemName":"funny"]
let dictVVV = ["itemName":"vvv"]
let dictHHH = ["itemName":"hhh"]
let dictWest = ["itemName":"west"]
let dictTT = ["itemName":"tt"]
let dictWest1 = ["itemName":"west"]
arr.append(dictWest1)
arr.append(dictTest)
arr.append(dictVVV)
arr.append(dictTT)
arr.append(dictWest)
arr.append(dictFunny)
arr.append(dictHHH)
print("Array Response: \(arr)")
for keyValue in arr as Array
{
let getDictValueFromArray = keyValue["itemName"] as! String
arrAppend.append(getDictValueFromArray)
}
let unique = Array(Set(arrAppend))
print("the result is-\(unique)")
}
unique 的输出是
the result is-["funny", "test", "west", "vvv", "hhh", "tt"]