当前位置: 首页 > 知识库问答 >
问题:

比较数组中不同索引下的元素

顾高扬
2023-03-14

在swift中,我想比较同一数组中的两个不同索引。现在,我的代码是这样的:

var myArray:[String] = ["1" , "1", "2"]

for i in myArray{
     if(myArray[i] == myArray[i + 1]){
     // do something
     } 
}

由此,我得到一个错误:

Cannot convert value of type 'String' to expected argument type 'Int'

我该怎么解决这个问题呢?

共有2个答案

柯河
2023-03-14

对于每个构造(For i in array)不提供索引,它从序列中获取元素

您可能希望使用这样的范围来获取索引:,用于0中的i。。

司徒墨竹
2023-03-14

这不是对你问题的直接回答,但如果你想比较一个集合中的相邻元素,你需要的是将该集合与同一个集合压缩,删除第一个元素:

let array = ["1" , "1", "2"]

for (lhs,rhs) in zip(array, array.dropFirst()) {
     if lhs == rhs {
         print("\(lhs) = \(rhs)")
         print("do something")
     } else {
         print("\(lhs) != \(rhs)")
         print("do nothing")
     }
}

这将打印:

1=1
做点什么
1!=什么都不做

 类似资料:
  • 我试图将输入与arraylist中的值进行比较。 前任;我有一个arraylist: 数组的每个索引在我的程序中代表一个唯一的属性。e、 g索引0代表,索引1代表等。如果我做返回第二个数组。 我正在尝试将与每个数组中的第二个元素进行比较。所以假设我运行这个,我希望它遍历每个数组中的每个[1],如果该索引匹配,则返回true。 因此,我希望它将'number'(1102)与每个第一个索引元素进行比较

  • 我有一个包含以下数据的文档集合 我想获取具有“管理员”和“用户”角色且状态为“已创建”的用户的文档计数。现在,我正在尝试匹配电子邮件ID和角色。 有什么方法可以比较来自同一对象的数组元素吗?

  • 假设我有一个叫“序列”的类。这个类有一个实例变量。还有一些方法可以创建这个选项卡,比如: 现在,我想创建一个方法,它接受两个Sequence对象作为参数,并返回相同tab元素的数量。所以,我创建了这样的方法:

  • 问题内容: 有人遇到过这个问题吗?假设您有两个类似以下的数组 有没有一种方法可以比较b中a中的哪些元素?例如, 我正在尝试避免循环,因为要花费数百万个元素才能解决问题。有任何想法吗? 干杯 问题答案: 实际上,有一个比以下任何一种方法更简单的解决方案: 所得的c为:

  • 我不能更改数组,它在每个元素中存储一个线程,所以我宁愿尽可能简单地避免损坏线程的内容(线程是同步化的,并使用ReentrantLock--所以问题只是关于数组)。 我想让这个for循环变得简单: 让我把它当成一个循环数组。我想过使用mudolo操作来实现这一点,但这也不起作用。以下是我尝试的:

  • 问题内容: 在Python中,我们可以使用来获取数组中值的索引。 但是,当我尝试执行NumPy数组时: 我得到: AttributeError:“ numpy.ndarray”对象没有属性“ index” 我如何在NumPy数组上执行此操作? 问题答案: 使用来获得,其中一个给定的条件是指数。 例子: 对于称为的2D : 对于一维数组: 请注意,这也适用于像条件,,等等… 您也可以使用方法创建的子