Mad Libs в JavaScript - Dom Event

Я не уверен, как улучшить ответ @ alexis за пределами того, что @Frank уже сделал, но ваш оригинальный подход с базой R был не слишком далек от чего-то, что достаточно эффективно.

Вот вариант вашего подхода, который мне понравился, потому что (1) он достаточно быстр и (2) он не требует слишком много размышлений, чтобы выяснить, что происходит:

as.matrix(dat)[cbind(1:nrow(dat), max.col(!is.na(dat), "last"))] 

Самой дорогой частью этого является часть as.matrix(dat), но в остальном она кажется более быстрой, чем melt подход, которым поделился @akrun.

0
задан Shakespear 16 January 2019 в 02:53
поделиться

1 ответ

Переменная name, но вы использовали person, поэтому она находит элемент с идентификатором person, поскольку они не являются переменными person.

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>Challenge: Mad Libs</title>
 </head>
 <body>
 
    <h1>Mad Libs</h1>
     
    <ul>
      <li>Noun: <input type="text" id="noun"></li>
      <li>Adjective: <input type="text" id="adjective"></li>
      <li>Someone's Name: <input type="text" id="person"></li>
    </ul>
     
    <button id="lib-button">Lib it!</button>
      
    <p>Generated story: 
    <span id="story"></span>
    </p>
 
    <script>
        var libButton = document.getElementById('lib-button');
        var libIt = function() {
            var storyDiv = document.getElementById("story");
            var noun = document.getElementById("noun").value;
            var adjective = document.getElementById("adjective").value;
            var name = document.getElementById("person").value;
            storyDiv.innerHTML = "I took my " + noun + " and " + 
              adjective + " it. "+ name + " didn't like it.";
        };
        libButton.addEventListener('click', libIt);
        
    </script>
  
 </body>
</html>

0
ответ дан epascarello 16 January 2019 в 02:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: