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。。。它应该列出所有重复的项目代码。。提前谢谢