ios - 如何删除多个并行数组中的重复数据

标签 ios arrays swift

我正在尝试快速删除具有多个相同值的相同顺序的某些数组元素 即。

假设现在我有 3 个数组

array1 = [a,b,c,d,d,c,d]
array2 = [1,2,3,4,4,3,4]
array3 = [aa,bb,cc,dd,dd,cc,dd]

问题是:我需要从数组中删除所有 3 个重复值的元素

这意味着,我需要从数组 1、2 和 3 中删除索引为 [4]、[5]、[6] 的元素。

附言。 3个数组必须在单独的数组中并且不能重新排列其顺序,因为它们有一些彼此相关的关键信息

如有任何建议,我们将不胜感激。

最佳答案

var array1 = ["a","b","c","d","d","c","d"]
var array2 = [1,2,3,4,4,3,4]
var array3 = ["aa","bb","cc","dd","dd","cc","dd"]
var set: Set<Int> = []   // you can use a set to check the duplicated elements

for index in array2.indices.reversed() { // reversed is necessary to remove your elements
    if !set.insert(array2[index]).inserted {
        array1.remove(at: index)
        array2.remove(at: index)
        array3.remove(at: index)
    }
}

array1  // ["a", "b", "c", "d"]
array2  // [1, 2, 3, 4]
array3  // ["aa", "bb", "cc", "dd"]

关于ios - 如何删除多个并行数组中的重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46817377/

相关文章:

c - 使用 fget 对字符串数组进行排序

c - 二维数组的 malloc

ios - 跨多个 View Controller 共享背景图像

ios - 使用核心数据进行 Swift 4 单元测试

swift:在登录 View Controller 中未调用 AWSCognitoIdentityInteractiveAuthenticationDelegate 方法

ios - Swift 4 枚举可编码

ios - 如何在文档文件夹中调用plist文件

ios - UITableView 中的自动布局约束问题

iOS 私有(private) API 调用将应用程序带到前台

php - 多维数组表填充