2016-07-21 3 views
1

Ich arbeite an einem zufälligen Art Prompt-Generator, aber ich möchte den Code durch Hinzufügen eines Abschnitts, speichert die vorherigen Ergebnisse und zeigt sie unterhalb der "Suche" -Sektion, so dass sie sind Bin nicht sofort verloren. Vielleicht ein Cache von 10 oder so? Ich habe keine Ahnung, wie ich überhaupt anfangen soll.Store Ergebnisse von Random-Satz-Generator

function GetValue() { 
 
    var myarray1 = new Array("VIBRATING", "EYE-POPPING", "BUSY", "BOLD", "GARISH", "STUNNING", "NAUSEATING", "POWERFUL", "SIMPLE", "BORING", "GRAPHIC", "CLASHING", "HARMONIOUS", "MULTICOLORED"); 
 
    var myarray2 = new Array("POLITICAL", "DREAMY", "EPIC", "BIBLICAL", "ROMANTIC", "NATURAL", "VIOLENT", "SERENE", "LITERARY", "ASSYMETRICAL", "SYMETRICAL"); 
 
    var myarray3 = new Array("DULL", "DARK", "BRIGHT", "VIVID", "VIBRANT", "PRIMARY-COLORED", "MUDDY", "ROUGH", "SHINY", "GRAINY", "GLOSSY"); 
 
    var myarray4 = new Array("MONOCHROMATIC", "BLACK-AND-WHITE", "FLUORESCENT", "BROWN", "EARTHTONE", "PINK", "TWO-TONE", "GREEN"); 
 
    var myarray5 = new Array("CUBIST", "CLASSICAL", "FOLKSY", "MINIMALIST", "REALIST", "EXPRESSIONIST", "MODERNIST", "CONCEPTUAL"); 
 
    var myarray6 = new Array("PAINTING", "DRAWING", "SCULPTURE", "DIORAMA", "CUT-OUT", "COLLAGE","VIDEO","PHOTOGRAPH","FLIPBOOK","WOODBLOCK PRINT", "DRYPOINT", "ETCHING"); 
 

 

 
    var random1 = myarray1[Math.floor(Math.random() * myarray1.length)]; 
 
    var random2 = myarray2[Math.floor(Math.random() * myarray2.length)]; 
 
    var random3 = myarray3[Math.floor(Math.random() * myarray3.length)]; 
 
    var random4 = myarray4[Math.floor(Math.random() * myarray4.length)]; 
 
    var random5 = myarray5[Math.floor(Math.random() * myarray5.length)]; 
 
    var random6 = myarray6[Math.floor(Math.random() * myarray6.length)]; 
 
    var output = random1 + ' ' + random2 + ' ' + random3 + ' ' + random4 + ' ' + random5 + ' ' + random6; 
 

 
    document.getElementById("message").innerHTML = output; 
 
}
<input type="button" id="btnSearch" value="Search" onclick="GetValue();" /> 
 
<p id="message">

Antwort

0

Sie könnten eine globale Variable für die letzte Zeichenfolge verwenden und eine Liste voranstellen. Wenn mehr als 10 Artikel vorhanden sind, wird der letzte Artikel gelöscht.

function GetValue() { 
 
    var words = [["VIBRATING", "EYE-POPPING", "BUSY", "BOLD", "GARISH", "STUNNING", "NAUSEATING", "POWERFUL", "SIMPLE", "BORING", "GRAPHIC", "CLASHING", "HARMONIOUS", "MULTICOLORED"], ["POLITICAL", "DREAMY", "EPIC", "BIBLICAL", "ROMANTIC", "NATURAL", "VIOLENT", "SERENE", "LITERARY", "ASSYMETRICAL", "SYMETRICAL"], ["DULL", "DARK", "BRIGHT", "VIVID", "VIBRANT", "PRIMARY-COLORED", "MUDDY", "ROUGH", "SHINY", "GRAINY", "GLOSSY"], ["MONOCHROMATIC", "BLACK-AND-WHITE", "FLUORESCENT", "BROWN", "EARTHTONE", "PINK", "TWO-TONE", "GREEN"], ["CUBIST", "CLASSICAL", "FOLKSY", "MINIMALIST", "REALIST", "EXPRESSIONIST", "MODERNIST", "CONCEPTUAL"], ["PAINTING", "DRAWING", "SCULPTURE", "DIORAMA", "CUT-OUT", "COLLAGE", "VIDEO", "PHOTOGRAPH", "FLIPBOOK", "WOODBLOCK PRINT", "DRYPOINT", "ETCHING"]], 
 
     output = words.map(function (a) { 
 
      return a[Math.floor(Math.random() * a.length)]; 
 
     }).join(' '), 
 
     list = document.getElementById("last"), 
 
     li; 
 

 
    if (last){ 
 
     list.childNodes.length > 9 && list.removeChild(list.childNodes[9]); 
 
     li = document.createElement('li'); 
 
     li.innerHTML = last; 
 
     if (list.childNodes.length) { 
 
      list.insertBefore(li, list.childNodes[0]); 
 
     } else { 
 
      list.appendChild(li); 
 
     } 
 
    } 
 
    document.getElementById("message").innerHTML = output; 
 
    last = output; 
 
} 
 

 
var last = '';
<input type="button" id="btnSearch" value="Search" onclick="GetValue();" /> 
 
<p id="message"></p> 
 
<ul id="last"></ul>