Есть ли лучший способ написать этот код, используя Swift? Я использую цикл вложенных циклов, и я не мог придумать лучшего способа написать этот код. Я просто начинающий, пытающийся понять это.Расчет промежуточных итогов и итогов из словаря
var products = [
["product": "soap", "price": 3.50],
["product": "cereal", "price": 2.56],
["product": "soup", "price": 3.25]
]
var shoppingCart = ["soap", "cereal"]
var count = 0
var subTotal = 0.0
for product in products {
for cartItem in shoppingCart.enumerate() {
if cartItem.element == products[count]["product"] {
print(cartItem.element)
if count <= products.count {
count += 1
var cost = products[count]["price"]! as! Double
subTotal += cost
}
}
}
}
let totalCost = subTotal * 1.086
print("The total cost of your shopping cart $\(totalCost).")
Ваша структура данных неадекватна - скорее всего, вы должны использовать массив 'Product' structs или словарь, сопоставляющий какой-либо идентификатор продукта (имена прекрасно, если они уникальны) в структуру' Product' (или просто цена, если это единственное свойство). В этом случае словарь будет хорош для быстрого поиска. – Hamish
Есть ли конкретная причина для использования словарей? –