Je dispose d'un tableau formaté comme ceci:Formatage un tableau comme une liste d'achats
["Trousers : 15.50", "Trousers : 15.50", "Jumper : 12.99", "Shoes: 50.00"]
Je voudrais formater comme ceci:
["2x Trousers : 31.00", "1x Jumper : 12.99", "1x Shoes: 50.00"]
J'essayé de formater en utilisant cette :
var counts: [String:Int] = [:]
var shoppingList = ["Trousers : 15.50", "Trousers : 15.50", "Jumper : 12.99", "Shoes: 50.00"]
var formattedShoppingList = [String]()
for item in shoppingList {
counts[item] = (counts[item] ?? 0) + 1
}
for (key, value) in counts {
let display:String = String(value) + "x " + key
formattedShoppingList.append(display)
}
Mais je reçois ce
["2x Trousers : 15.50", "1x Jumper : 12.99", "1x Shoes: 50.00"]
Si j'utilise un dictionnaire, je ne peux pas avoir des doublons. Comment dois-je procéder avec cela?
Ma * estimation * est que 'var ShoppingList = [ "Pantalon: 15,50", "Pantalon: 15,50", "Jumper: 12.99", "Chaussures: 50.00"]' –
I regrouperait toutes ces données dans un 'struct' ou' class', au lieu que vous utilisiez un dictionnaire, alors vous pourriez avoir une propriété obtenant la taille de vos éléments. 'struct Grouping {var Clé: String var values: [String]}' – Lamar
Etes-vous conscient que '[Pantalons: 15.50, Pantalons: 15.50, Jumper: 12.99, Chaussures: 50.00]' n'est pas un tableau? – Alexander