相关疑难解决方法(0)

将数组与不同的数组类型进行比较

我想比较两个数组是否相等,这是我的代码:

  var letteronloc = [String]();
      letteronloc.append("test")
  let characters = Array("test")


   if(letteronloc == characters) {

    }
Run Code Online (Sandbox Code Playgroud)

但我有一个错误:找不到接受提供的参数的==的重载

我认为这是因为数组不相等,因为第二个数组不是字符串数组.但我该如何解决这个问题呢?

xcode swift

1
推荐指数
1
解决办法
101
查看次数

从多维数组中删除重复项

我写了以下扩展名来删除我的数组中的重复项.

extension Array where Element : Equatable{

    func removeDups() -> [Element]{
        var result = [Element]()

        for element in self{
            if !result.contains(element){
                result.append(element)
            }
        }

        return result
    }
}
Run Code Online (Sandbox Code Playgroud)

线性阵列

let linearArr = [1,2,2,3]
linearArr.removeDups() // [1,2,3] works well!
Run Code Online (Sandbox Code Playgroud)

多维数组

let multiDimArr : [[Int]] = [[1,2,3], [1,2,3], [1,2 ,4]]
multiDimArr.removeDups() // Error!
Run Code Online (Sandbox Code Playgroud)

类型[Int]不符合Equatable

我读到这里.答案说使用阵列比较==应该可行.它不能一直工作:

作品

if (["1", "2"] == ["1", "2"]){
    print("true")
}
Run Code Online (Sandbox Code Playgroud)

不行

if ([1, 2] == [1, 2]){ // ERROR!
    print("true")
}
Run Code Online (Sandbox Code Playgroud)

运算符'=='的模糊使用

这很特别.我可以比较数组的String …

arrays value-type swift equatable

1
推荐指数
1
解决办法
415
查看次数

标签 统计

swift ×2

arrays ×1

equatable ×1

value-type ×1

xcode ×1