Swift3错误:二元运算符'&lt;'不能应用于两个'ArraySlice <int>'操作数

时间:2018-02-12 16:57:37

标签: arrays swift

我正在迭代数组并通过索引比较值但得到错误

enter image description here

这是我的代码

class Solution {
   func threeSum(_ alice: [Int] = [5,6,7], _ bob: [Int] = [3,6,10]) {

       var aliceP = 0
       var bobP = 0

 for i in [0..<alice.count] {
           if alice[i] > bob[i] {
               aliceP += 1
           } else if alice[i] < bob[i] {
               bobP += 1
           }
       }


       print(aliceP, bobP)
   }
}

1 个答案:

答案 0 :(得分:5)

您需要将[0..<alice.count]更改为0..<alice.count。如果没有括号,i将根据需要成为索引,在给定范围内迭代。使用括号,您可以创建一个包含单个CountableRange的数组,因此i的唯一值是CountableRange<Int>,而不是所需的简单Int