Swift 如何发现字典数组中存在重复数据
我有一组字典。如果字典数组中存在重复数据,则将使用重复的元素名称引发一个标志 字典数组如下所示:Swift 如何发现字典数组中存在重复数据,swift,dictionary,Swift,Dictionary,我有一组字典。如果字典数组中存在重复数据,则将使用重复的元素名称引发一个标志 字典数组如下所示: [[project_code: 1, lob: lob_1], [project_code: 1, lob: lob_1], [project_code: 2, lob: lob_1], [project_code: 3, lob: lob_1]] 在这里,我们需要循环查找相同的项目\代码和lob是否相同,然后它将返回所有重复的项目\代码 重复数据意味着项目代码和lob值对应该相同 在上面的数组中
[[project_code: 1, lob: lob_1], [project_code: 1, lob: lob_1], [project_code: 2, lob: lob_1], [project_code: 3, lob: lob_1]]
在这里,我们需要循环查找相同的项目\代码和lob是否相同,然后它将返回所有重复的项目\代码
重复数据意味着项目代码和lob值对应该相同
在上面的数组中,如果我们遍历,那么它应该返回project_代码:1
如果有人能用Swift写代码
提前谢谢。给你
var dic1 = ["project_code":1, "lob": "lob_1"]
var dic2 = ["project_code":1, "lob": "lob_1"]
var dic3 = ["project_code":2, "lob": "lob_1"]
var dic4 = ["project_code":3, "lob": "lob_1"]
var hasDuplicates = NSArray(objects: dic1,dic2,dic3,dic4)
var duplicates = NSMutableArray()
var noDuplicates = NSMutableArray()
for dics in hasDuplicates{
if noDuplicates.containsObject(dics){
if !duplicates.containsObject(dics){
duplicates.addObject(dics)
}
}
else{
noDuplicates.addObject(dics)
}
}
println(duplicates)
println(noDuplicates)
//to find the duplicate items key
for dics in duplicates{
println(dics["project_code"])
}
给你
var dic1 = ["project_code":1, "lob": "lob_1"]
var dic2 = ["project_code":1, "lob": "lob_1"]
var dic3 = ["project_code":2, "lob": "lob_1"]
var dic4 = ["project_code":3, "lob": "lob_1"]
var hasDuplicates = NSArray(objects: dic1,dic2,dic3,dic4)
var duplicates = NSMutableArray()
var noDuplicates = NSMutableArray()
for dics in hasDuplicates{
if noDuplicates.containsObject(dics){
if !duplicates.containsObject(dics){
duplicates.addObject(dics)
}
}
else{
noDuplicates.addObject(dics)
}
}
println(duplicates)
println(noDuplicates)
//to find the duplicate items key
for dics in duplicates{
println(dics["project_code"])
}
给你
var dic1 = ["project_code":1, "lob": "lob_1"]
var dic2 = ["project_code":1, "lob": "lob_1"]
var dic3 = ["project_code":2, "lob": "lob_1"]
var dic4 = ["project_code":3, "lob": "lob_1"]
var hasDuplicates = NSArray(objects: dic1,dic2,dic3,dic4)
var duplicates = NSMutableArray()
var noDuplicates = NSMutableArray()
for dics in hasDuplicates{
if noDuplicates.containsObject(dics){
if !duplicates.containsObject(dics){
duplicates.addObject(dics)
}
}
else{
noDuplicates.addObject(dics)
}
}
println(duplicates)
println(noDuplicates)
//to find the duplicate items key
for dics in duplicates{
println(dics["project_code"])
}
给你
var dic1 = ["project_code":1, "lob": "lob_1"]
var dic2 = ["project_code":1, "lob": "lob_1"]
var dic3 = ["project_code":2, "lob": "lob_1"]
var dic4 = ["project_code":3, "lob": "lob_1"]
var hasDuplicates = NSArray(objects: dic1,dic2,dic3,dic4)
var duplicates = NSMutableArray()
var noDuplicates = NSMutableArray()
for dics in hasDuplicates{
if noDuplicates.containsObject(dics){
if !duplicates.containsObject(dics){
duplicates.addObject(dics)
}
}
else{
noDuplicates.addObject(dics)
}
}
println(duplicates)
println(noDuplicates)
//to find the duplicate items key
for dics in duplicates{
println(dics["project_code"])
}
使用
扩展名:
extension Array {
var isContainedDuplicateData: Bool {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return true
}
}
}
return false
}
}
var duplicateData: AnyObject {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return p!
}
}
}
return NSNull()
}
结果是:
status = false
duplicatedata = ["a": "b"]
使用
扩展名:
extension Array {
var isContainedDuplicateData: Bool {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return true
}
}
}
return false
}
}
var duplicateData: AnyObject {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return p!
}
}
}
return NSNull()
}
结果是:
status = false
duplicatedata = ["a": "b"]
使用
扩展名:
extension Array {
var isContainedDuplicateData: Bool {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return true
}
}
}
return false
}
}
var duplicateData: AnyObject {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return p!
}
}
}
return NSNull()
}
结果是:
status = false
duplicatedata = ["a": "b"]
使用
扩展名:
extension Array {
var isContainedDuplicateData: Bool {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return true
}
}
}
return false
}
}
var duplicateData: AnyObject {
for (var i = 0 ; i < self.count; ++i){
for (var j = i+1 ; j < self.count; ++j){
let p = self[i] as? NSDictionary
let q = self[j] as? NSDictionary
if (p == q ){
return p!
}
}
}
return NSNull()
}
结果是:
status = false
duplicatedata = ["a": "b"]
这需要一个自定义代码,您可以很容易地自己编写。循环遍历数组,并通过比较它们的对和提升标志将其与其他字典进行比较。没什么特别的。这需要一个自定义代码,你可以很容易地自己编写。循环遍历数组,并通过比较它们的对和提升标志将其与其他字典进行比较。没什么特别的。这需要一个自定义代码,你可以很容易地自己编写。循环遍历数组,并通过比较它们的对和提升标志将其与其他字典进行比较。没什么特别的。这需要一个自定义代码,你可以很容易地自己编写。循环遍历数组,并通过比较它们的对和提升标志将其与其他字典进行比较。没什么特别的。你能给我一个只检查项目代码而不检查lob的代码吗。情况依然如此。如果存在重复的项目代码,无论是否存在lob。。。它应该列出所有重复的项目代码。。提前谢谢你能给我一个只检查项目代码而不是lob的代码。情况依然如此。如果存在重复的项目代码,无论是否存在lob。。。它应该列出所有重复的项目代码。。提前谢谢你能给我一个只检查项目代码而不是lob的代码。情况依然如此。如果存在重复的项目代码,无论是否存在lob。。。它应该列出所有重复的项目代码。。提前谢谢你能给我一个只检查项目代码而不是lob的代码。情况依然如此。如果存在重复的项目代码,无论是否存在lob。。。它应该列出所有重复的项目代码。。提前谢谢