Как вернуть несколько значений индекса элемента массива как Int в swift 4 - PullRequest
0 голосов
/ 28 апреля 2020

Кажется, я не могу найти способ вернуть значение индекса элемента (даже если есть два элемента одного типа) в массиве. Например:

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

Поскольку есть два элемента с именем «Яблоки», я хочу возвращать их индексное значение индивидуально в виде Int (а не массива Ints). Может кто-нибудь, пожалуйста, помогите мне? Спасибо.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Вы можете создать функцию, которая будет возвращать индекс элемента вроде этого -

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"]

это пока l oop получит все индексы элемента, который вы ищете, а затем вы можете сохранить их в массиве или просто напечатать их, как показано ниже

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

Happy coding:)

0 голосов
/ 28 апреля 2020
    for (index, value) in array.enumerated() {
        if value == "Apples" {
            print(index)
        }
    }

Вы можете сохранить его в другой переменной или в массиве. Вы получите индекс строки «Apple» из данного массива. Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...