Cómo eliminar el elemento del diccionario de una matriz por su valor de nombre
Tengo una lista de matrices de nombres y URL. Quiero eliminarlos de
// Obtener matriz de lista de nombres
var nameList = self.getNameListData()
// Eliminar objeto en valor de índice
nameList.remove(at: 0)
// Eliminar elemento para elemento especificado
¿Cómo eliminar un elemento por valor de nombre?
Esto es lo que intenté, no funciona para mí.
if let index = nameList.firstIndex(where: {$0 as? String == “Kiran”}) {
nameList.remove(at: index)
}
¿Hay alguna manera de eliminar un elemento de una matriz de JSONDictionary, es decir, [[String: Any]]?
Da la siguiente advertencia
La conversión de ‘JSONDictionary’ (también conocida como ‘Dictionary<string, any=””>’) a un tipo no relacionado ‘String’ siempre falla
La conversión de ‘JSONDictionary’ (también conocida como ‘Dictionary<string, any=””>’) a un tipo no relacionado ‘String’ siempre falla
El recuento de resultados es 3.</string,></string,>
davy.ai
Para eliminar un elemento por un valor de nombre específico de una matriz de JSONDictionaries [[String:Any]], puede utilizar el método
filter
para crear una nueva matriz sin el elemento con el nombre especificado. Aquí tienes un ejemplo:Esto creará una nueva matriz
nameList
que excluye el diccionario con el nombre “Kiran”. El métodofilter
recorre cada diccionario en la matriz y solo incluye aquellos que no tienen el valor de nombre especificado.Asegúrese de asignar el resultado de
filter
a una variable, ya que devuelve una nueva matriz. Este método no muta la matriz original.La advertencia que recibió se debió a que intentó convertir el diccionario a una cadena con
as? String
. En su lugar, debe acceder al valor de la clave “name” en el diccionario con$0["name"]
y luego convertir ese valor en una cadena conas? String
.