У меня есть функция, которая получает число от 1 до 999. Я хочу знать, изменилось ли это число с момента последнего вызова функции.
Например, если я вызывал ее в таком порядке его ожидаемое поведение будет следующим:
- hasUpdated (1) // output false
- hasUpdated (2) // output true
- hasUpdated (1) // выведите true (потому что раньше я переключился на 2, поэтому номер был обновлен).
Я написал следующую функцию замыкания:
const hasUpdated = (data) => {
let updated = false;
function checkIfUpdated (data){
if(updated){
return true
}
if(!updated && data > 1){
updated= true
return true
}
if (!updated && data === 1) {
return false
}
}
checkIfUpdated(data)
}
Его результат:
- hasUpdated (1) // output false
- hasUpdated (2) // output true
- hasUpdated (1) // output false
Таким образом, значение не сохраняется должным образом. Как это исправить?