Что такое ненаивный или элегантный способ создания входных данных N текстовых полей, которые динамически обновляют выходные данные N HTML?

В Интернете я нашел пример кода javascript, который обновляет HTML на основе одного текстового поля.

Динамическое отображение входных значений с использованием Javascript

Эта страница ссылается на этот пример. https://jsbin.com/ugasi5/3/edit?html,js,output

В духе заставить его работать, прежде чем сделать его лучше.

Я попытался расширить его до нескольких полей, создав повторяющиеся переменные (с уникальными именами), он ничего не выводит. Также и это явно наивная попытка сделать более одного поля.

Итак, мой вопрос: что такое ненаивный способ расширить этот код для более чем одного (N) ввода?

HTML

<body>
    <form>
        <input type='text' id='nameField'>
    </form>
    <hr> Your name is <span id='nameDisplay'>??</span>
</body>

Javascript

window.onload = function() {

  var nameField = document.getElementById('nameField');
  var lastNameValue = undefined;

  updateNameDisplay();

  setInterval(updateNameDisplay, 100);

  function updateNameDisplay() {
    var thisValue = nameField.value || "??";
    if (lastNameValue != thisValue) {
      document.getElementById('nameDisplay').innerHTML = lastNameValue = thisValue;
    }
  }

};

Изменить в ответ на @heretic-monkey для контекста и нежелательного измеримого определения, написанного не нативной процедурой. Метод Navie для создания N входных данных будет иметь много дублирования кода, тогда как ненаивный метод, вероятно, будет использовать шаблоны циклов и иметь меньше дублирования кода. чем ненаивный метод. Например.

В псевдонаивной процедуре:

create input 1
create input 2
create input 3
...
create input N

create output 1
create output 2
create output 3
...
create output N

В псевдо ненаивной процедуре:

   someLoopPattern
       create N inputs

   someLoopPattern
       create N outputs

person RandomNumberFun    schedule 16.11.2019    source источник
comment
Что может сделать ненаивным или элегантным то, что можно объективно измерить? В противном случае запрашиваются мнения или список альтернатив, ни одна из которых не вписывается в формат вопросов и ответов переполнения стека. Из одного только этого вопроса также неясно, что вы хотите сделать. Если есть контент из другого вопроса или код, необходимый для понимания этого вопроса, предоставьте этот контент (с соответствующим атрибутом) в этом вопросе.   -  person Heretic Monkey    schedule 17.11.2019
comment
@HereticMonkey Метод Navie для создания N входов будет иметь много дублирования кода, тогда как ненаивный метод, вероятно, будет использовать шаблоны циклов и иметь меньше дублирования кода. чем ненаивный метод.   -  person RandomNumberFun    schedule 17.11.2019
comment
То, что вы хотите, это рекурсия.   -  person Richard Barker    schedule 17.11.2019
comment
@HereticMonkey С точки зрения того, что я хочу сделать. Пример кода делает именно то, что я хочу сделать. Нет более ясного способа показать это. Это функциональный пример.   -  person RandomNumberFun    schedule 17.11.2019
comment
@RichardBarker Это не обязательно должно быть рекурсивным или нет? Я предполагал, что рекурсия будет наиболее вероятным решением, поскольку рекурсивные шаблоны хорошо подходят для процедур такого типа. Любая помощь с реализацией будет здорово! Потому что именно здесь я потерялся и просто изучаю javascript!   -  person RandomNumberFun    schedule 17.11.2019
comment
Комбинация атрибутов данных и числовых идентификаторов, возможно, ваш лучший выбор   -  person Ainz-sama    schedule 17.11.2019
comment
В примере кода не показано динамическое создание элементов ввода. Псевдокод делает. О динамическом создании элементов ввода уже спрашивали: например, динамическое добавление элементов ввода в форму. Однако я не уверен, можно ли считать это ненаивным.   -  person Heretic Monkey    schedule 17.11.2019
comment
@ImmortalDude Я создал этот вопрос, чтобы помочь с этим. Если бы я знал, как это на скорую руку, я бы не создавал вопрос. Хотя я ценю ваш вклад, я рад предоставить вам принятое решение, если вы готовы его написать. Спасибо за любую помощь!   -  person RandomNumberFun    schedule 17.11.2019
comment
@HereticMonkey да, ваше право. Он динамически обновляет HTML, как указано в моем исходном вопросе. 3/изменить?html,js,вывод   -  person RandomNumberFun    schedule 17.11.2019
comment
@HereticMonkey причина, по которой псевдокод показывает создание ввода, состоит в том, чтобы продемонстрировать возражения против того, как выглядит несобственная процедура. Это было по твоей просьбе. Конечно, для того, чтобы делать то, о чем я прошу, должны быть созданы новые входы. Я не понимаю, как это не так. Как еще можно создать N входов и N выходов?   -  person RandomNumberFun    schedule 17.11.2019