Я пытаюсь создать функцию, которая увеличивает зарплату сотрудникам, если они находятся в списке повышения - PullRequest
1 голос
/ 04 июня 2019

Я пытаюсь выяснить, как я могу отредактировать значение в словаре, проверяя равенство в ключах словарей по значению массива

Так что я понял это почти и застрялпытаясь заменить значение в словаре значением, которое возвращается из функции.

for (key, value) in employeeSal {

    for name in promotionList {

        if key == name {

            promotion(salary: value)

            print(key, promotion(salary: value))
            employeeSal[key: value]

        }   
    }
}

Печать, (ключ, повышение по службе (оклад: значение) , показывает мне именно то, что я хочу. Я пытался присвоить новое значениес ключом, employeeSal [ключ: значение] , но он не работает, и у меня нет идей.

1 Ответ

1 голос
/ 04 июня 2019

Назначить результат promotion переменной. . Используйте это, чтобы обновить словарь.

let newSalary = promotion(salary: value)
employeeSal[key] = newSalary

Существует гораздо более эффективное решение:

for name in promotionList {
    if let value = employeeSal[name] {
        let newSalary = promotion(salary: value)
        employeeSal[name] = newSalary
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...