функция javscript, которая выводит 1 при изменении ввода с 1 на 0 (положительный фланг) - PullRequest
0 голосов
/ 12 июля 2020

Я хочу создать функцию, которая будет выводить 1 всякий раз, когда вход изменяется с 0 на 1.

Вот изображение для визуализации события.

Кто-нибудь может мне помочь?

Событие

1 Ответ

0 голосов
/ 12 июля 2020

Если я правильно понимаю, что вам нужно, вам нужна функция, которая запоминает предыдущее переданное ей значение, и только при изменении с 0 на 1 возвращает 1. Этого можно достичь с помощью закрытия .

В основном функция «построитель» возвращает другую функцию, возвращенная функция имеет доступ к переменным, объявленным в функции «buider». Эти переменные сохраняют свое значение от одного вызова возвращаемой функции к другому.

function build(initial) {
    let previous = initial;
    return function(input) {
        const output = previous === 0 && input === 1 ? 1 : 0;
        previous = input;
        return output;
    }
}

const values = [0, 0, 0, 1, 0, 1, 1, 1, 0, 1];

const positiveFlank = build();

for (const value of values) {
  const output = positiveFlank(value);
  console.log(`Input ${value}`, `Output ${output}`);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...