2011-01-16 14 views
9

Sto cercando un generatore di frasi casuali in JavaScript che non richiede un GET esterno a una risorsa Web per ottenere i dati del dizionario. Ho visto molto in perl e Python ma ho bisogno che funzioni nel browser e in node.js con una latenza minima.Generazione di parole casuali in JavaScript

risposta

5
+0

Interessante. Il mio è soggetto-verbo-oggetto, mentre il tuo è un soggetto-azione più complesso. Tuttavia, non è necessario determinare il tipo di parola da usare se si dispone di blocchi di frasi preimpostati che vanno in un certo ordine. –

0

Mikeal,

ho una "classe" molto semplice che può aiutare con dati "semi-casuali". È estremamente facile da usare e ti darà diversi tipi di stringhe per i tuoi dati.

Forse sarà d'aiuto. Altre risposte qui intorno ti forniranno dati fuzz veri se è quello che stai cercando. In bocca al lupo!

Si noti che esiste sia una versione Java che una versione Javascript. Il JS è più tardi nella pagina.

PhraseGenerator

http://metal-sole.com/2012/10/12/random-phrases-computers-is-funny/

+1

Collegamento JS guasto in questo momento. – bendecko

3

Ho finito per usare https://www.npmjs.com/package/random-words, ha in mente la velocità e quindi non esegue Oggetto-verbo-oggetto o alcuna frase struttura. Molto semplice da usare ed era abbastanza buono per i miei scopi. Inoltre ho potuto installare tramite npm

npm install random-words 

utilizzo:

var sentence = words({min: 8, max: 12}).join(" "); // => "which least vegetable wool poem wife golden" 

^notare che sto usando 'parole', invece di Randomwords come suggerito dai documenti, perché non sto usando nodo o requirejs (nel qual caso si imposta var randomWords = require('random-words')), invece sto usando un server Apache e includo lo script che mi dà accesso alla funzione parole.

0

Se avete solo bisogno del testo questo funziona bene:

var words = ["<b>spam</b>", "eggs", "<i>sausage</i>", "spam", "spam", "spam"]; 

    function bacon(){ 
    var result = []; 
    var i = parseInt(Math.random()*200); 
    while(i-- > 0) { 
     result.push(words[parseInt(Math.random()*words.length)]); 
    } 
    return result.join(" "); 
    } 
Problemi correlati