Swift - How to get indexes of filtered items of array

后端 未结 9 1163
旧巷少年郎
旧巷少年郎 2020-12-05 18:20
let items: [String] = [\"A\", \"B\", \"A\", \"C\", \"A\", \"D\"]

items.whatFunction(\"A\") // -> [0, 2, 4]
items.whatFunction(\"B\") // -> [1]
9条回答
  •  难免孤独
    2020-12-05 18:30

    You can use that below code:

    var firstArray = ["k","d","r","r","p","k","b","p","k","k"]
    var secondArray = ["k","d","r","s","d","r","b","c"]
    
    let filterArray = firstArray.filter { secondArray.contains($0) }
    let filterArray1 = firstArray.filter { !secondArray.contains($0) }
    let filterIndex = firstArray.enumerated().filter { $0.element == "k" }.map { $0.offset }
    print(filterArray) --> // ["k", "d", "r", "r", "k", "b", "k", "k"]
    print(filterArray1) --> // ["p", "p"]
    print(filterIndex) --> // [0, 5, 8, 9]
    

提交回复
热议问题