Tengo una matriz que contiene diccionarios; Entonces, ¿cómo puedo ordenar la matriz de acuerdo a los valores clave del diccionario?¿Cómo ordenar una matriz que contiene diccionarios?
Respuesta
Si cada elemento de la matriz es un diccionario que contiene una determinada clave, puede ordenar la matriz mediante un descriptor de clasificación. Por ejemplo, si cada elemento es un diccionario que contiene una clave llamada "nombre":
NSSortDescriptor *sortByName = [NSSortDescriptor sortDescriptorWithKey:@"name"
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortByName];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sortDescriptors];
cómo ordenar el valor int? –
¿por qué no utiliza un diccionario ordenado donde la propiedad de los elementos ordenados ya viene con la estructura de datos?
Por favor, echa un vistazo here
Espero que esto ayude.
La respuesta compartida por encima de Bavarious ayudó me.Just quiere añadir una más thing.If desea ordenar un arreglo utilice mutable algo así como el código de abajo
NSSortDescriptor *sortByName = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortByName];
NSMutableArray *sortedArray = [[NSMutableArray sortedArrayUsingDescriptors:sortDescriptors]mutableCopy];
la otra forma de lograrlo sería mediante sortedArrayUsingComparator:
método
NSArray *sortedArray = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [[obj1 valueForKey:@"value"] compare:[obj2 valueForKey:@"value"]];
}];
let arrDescriptor = NSSortDescriptor(key: "order", ascending: true)
let sortDescriptors: NSArray = [arrDescriptor]
let sortedArray = instancesubArray.sortedArray(using: sortDescriptors as [AnyObject] as [AnyObject] as! [NSSortDescriptor])
print(sortedArray)
Utilice el enlace [editar] para explicar cómo funciona este código y no solo proporcione el código, ya que una explicación es más probable que ayude a los lectores futuros. Ver también [respuesta]. –
- 1. Clasificación: cómo ordenar una matriz que contiene 3 tipos de números
- 2. Objetivo-C: Ordenar NSMutableArray que contiene NSMutableArrays
- 3. Matriz que contiene métodos
- 4. ¿Cómo clasifico las listas anidadas como JSON usando Jersey? Obtengo una matriz de nulos o una matriz de diccionarios de un elemento que contiene una matriz
- 5. Ordenar NSArray contiene AAO
- 6. ¿Cómo ordenar una matriz que contiene objetos de clase por un valor de propiedad de una instancia de clase?
- 7. ordenar una matriz asociativa multidimensional?
- 8. ¿Cómo ordenar una matriz (asociativa) por valor?
- 9. Cómo ordenar una matriz fecha en PHP
- 10. Multi-ordenar una matriz multidimensional
- 11. ¿Cómo puedo ordenar una matriz con coffeescript?
- 12. ¿Cómo puedo ordenar una matriz de cadenas?
- 13. Cómo ordenar una matriz en JavaScript
- 14. ¿Cómo ordenar una matriz en javascript?
- 15. Rails, Ruby, cómo ordenar una matriz?
- 16. Ordenando NSArray de diccionarios por valor de una clave en los diccionarios
- 17. ¿Cómo puedo crear una matriz/lista de diccionarios en python?
- 18. Ordenar una matriz relacionada con otra matriz
- 19. ¿Ordenar una matriz 2D binaria?
- 20. Ordenar una matriz multidimensional en VBA
- 21. Ordenar una matriz numpy como una mesa
- 22. Ordenar una matriz en función de otra matriz
- 23. Numpy: ordenar una matriz multidimensional por una matriz multidimensional
- 24. De una serie de diccionarios, haga una matriz que contenga valores de una clave
- 25. Convertir una matriz de bytes a una clase que contiene una matriz de bytes en C#
- 26. Ordenar una matriz bidimensional por segundo valor
- 27. Obj/C: ordenar una matriz en una orden personalizada
- 28. Ordenar NSmutableArray que contiene 2 tipos de objetos?
- 29. ¿Cómo puedo ordenar un TList en Delphi en una propiedad arbitraria de los objetos que contiene?
- 30. Ordenar una matriz multidimensional en javascript
esta pregunta está presente en Stackoverflow http://stackoverflow.com/questions/4767219/how-to-sort-a-nsarray-which-contains-nsdictionary/4767282#4767282 –