我正在尝试快速删除具有多个相同值的相同顺序的某些数组元素 即。
假设现在我有 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/