如何在 swift 4 中 return 将多个数组元素索引值作为 Int

How to return multiple array element index values as an Int in swift 4

我似乎想不出任何方法来 return 数组中元素的索引值(即使有两个相同类型的元素)。例如:

var array = ["Apples","Dogs","Monkeys","Cats","Apples"]

因为有两个名称为 "Apples" 的元素,我想 return 将它们的索引值分别作为 Int(不是 Int 数组)。有人可以帮帮我吗?谢谢。

    for (index, value) in array.enumerated() {
        if value == "Apples" {
            print(index)
        }
    }

您可以将其存储在不同的变量中或将其存储在 array.you 中将从给定数组中获取字符串 "Apple" 的索引。希望对您有所帮助。

您可以为 return 项的索引创建一个函数,就像这样 -

func indexOfElement(element: String) -> Int? {
    while array.contains(element) {
        if let index = array.firstIndex(of: element) {
            array.remove(at: index)
            return index
        }
    }

    return nil
}

然后像这样将它用于数组

var array = ["Apples","Dogs","Monkeys","Cats","Apples"]

这个 while 循环将获取您正在搜索的元素的所有索引,然后您可以将它们存储在一个数组中,或者像下面的代码一样打印它们

var index = indexOfElement(element: "Apples") 
while(index != nil) {
    print(index!)
    index = indexOfElement(element: "Apples") 
}

编码愉快:)