Как убрать пустую пару ключ-значение из словаря в swift - PullRequest
0 голосов
/ 06 декабря 2018

Допустим, у меня есть словарь

let dic = ["a": "1", "b": "2", "c": "", "d": "3"]

Я хочу удалить ключ "c" со значением

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Вам просто нужно установить значение ключа, который вы хотите удалить, равным nil.Просто убедитесь, что вы объявили словарь как изменяемый, используя ключевое слово var.

var dic = ["a": "1", "b": "2", "c": "", "d": "3"]
dic["c"] = nil
print(dic) //["a": "1", "b": "2", "d": "3"]
0 голосов
/ 06 декабря 2018

Вот альтернативное использование фильтра с циклом forEach, который обновляет исходный словарь:

var dic = ["a": "1", "b": "2", "c": "", "d": "3"]

dic.filter({$0.value.isEmpty}).forEach( { dic[$0.key] = nil})
0 голосов
/ 06 декабря 2018

Это должно подойти.

let dic = ["a": "1", "b": "2", "c": "", "d": "3"]

let filteredDict = dic.filter( { !$0.value.isEmpty })
print(filteredDict) // Prints ["a": "1", "b": "2", "d": "3"]

Редактировать: Ответ Дэвида - это тот, на который вы идете, если хотите удалить только определенный ключ.Но это не имеет смысла, потому что, если бы вы знали, какой ключ удалить, будет ли это иметь значение, если он пуст или нет?Я предполагаю, что вы не знаете , какой ключ (ключи) пуст (в этом случае вам придется поступить так, как показано в этом ответе).

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