Допустим, я получил ответ ниже. Две вещи, которые я хотел бы узнать из приведенной ниже операции.
1.) Как улучшить / оптимизировать приведенный ниже код, используя функции более высокого порядка в swift.
2.) Также хотелось бы узнать текущую сложность кода и сложность любого оптимизированного кода, который вы можете предложить.
В приведенном ниже ответе я хотел бы проверить значения толькоопределенные ключи, как описано в keysToBeChecked и для этого конкретного ключа мне нужно сделать операцию. После завершения операции я хочу добавить новый ключ (ключ 6) в ответ, как показано ниже. Следующая операция отлично работает для меня, и это то, что я собираюсь сделать. Я ищу упомянутые выше 2 вещи
var response = [["key1": 1, "key2": 0, "name": "John", "key3": 1, "key4": 1, "place": "Newyork", "key5": 0],
["key1": 0, "key2": 1, "name": "Mike", "key3": 1, "key4": 0, "place": "California", "key5": 1],
["key1": 1, "key2": 0, "name": "John", "key3": 0, "key4": 1, "place": "Boston", "key5": 1]]
let keysToBeChecked = ["key1", "key2", "key3", "key4", "key5"]
for var item in response{
var dict = [String: String]()
for(key, value) in item{
if keysToBeChecked.contains(key){
dict[key] = "\(value)"
if dict[key] == "1"{
//perform required operations
output
}
}
}
item["key6"] = output
response.append(item)
}
print(response)//should print the below
My expected output is
response = [["key1": 1, "key2": 0, "name": "John", "key3": 1, "key4": 1, "place": "Newyork", "key5": 0, "key6": "output"],
["key1": 0, "key2": 1, "name": "Mike", "key3": 1, "key4": 0, "place": "California", "key5": 1, "key6": "output"],
["key1": 1, "key2": 0, "name": "John", "key3": 0, "key4": 1, "place": "Boston", "key5": 1, "key6": "output"]]