Skip to content

Instantly share code, notes, and snippets.

@rjoydip-zz
Last active February 28, 2017 10:38
Show Gist options
  • Save rjoydip-zz/6c192194f5f3492318f4b5112739f028 to your computer and use it in GitHub Desktop.
Save rjoydip-zz/6c192194f5f3492318f4b5112739f028 to your computer and use it in GitHub Desktop.
Generate random word,list,paragraph,array,name
var wordList = [];
var alp = 'abcdefghijklmnopqrstuvwxyz'.split('');
var alpSymNum = alp.join('').concat('!@#$%^&*_+~0123456789');
var nameSet =[
"abandoned","able","absolute","adorable","adventurous","academic","acceptable","acclaimed","accomplished",
"accurate","aching","acidic","acrobatic","active","actual","adept","admirable","admired","adolescent",
"adorable","adored","advanced","afraid","affectionate","aged","aggravating","aggressive","agile","agitated",
"agonizing","agreeable","ajar","alarmed","alarming","alert","alienated","alive","all","altruistic","amazing",
"ambitious","ample","amused","amusing","anchored","ancient","angelic","angry","anguished","animated","annual",
"another","antique","anxious","any","apprehensive","appropriate","apt","arctic","arid","aromatic","artistic",
"ashamed","assured","astonishing","athletic","attached","attentive","attractive","austere","authentic",
"authorized","automatic","avaricious","average","aware","awesome","awful","awkward","babyish","bad","back",
"baggy","bare","barren","basic","beautiful","belated","beloved","beneficial","better","best","bewitched","big",
"bighearted","biodegradable","bitesized","bitter","black"
];
function randGen(limit,min){
var _min = min || 0;
return Math.floor((Math.random() * limit) + _min );
}
function removeUndifined(w){
return w.substring(0,w.indexOf('undefined')).concat(w.substring(w.indexOf('undefined') + 'undefined'.length,w.length));
}
function generateWord(nosWord){
for(var i = 0 ;i < nosWord ; i++){
var word = '';
var randomWordLength = (randGen(6,null) === 0) ? randGen(6,2) : randGen(6,1);
for(var j = 0; j < randomWordLength; j++){
var randomIndex = randGen(alp.length,0);
(randomIndex !== undefined || randomIndex !== null) ? (alp[randomIndex] !== undefined || alp[randomIndex] !== null) ? word += alp[randomIndex] : false : false;
}
word = word.split(' ').filter(function(w){
return w.length > 2;
});
wordList.push(word);
wordList = wordList.filter(function(w1){
return w1.length > 0;
});
}
wordList = (wordList.length < nosWord) ? generateWord(nosWord - wordList.length) : wordList;
}
function generateMixId(len){
var ids = '';
for(var i =0; i < len ; i++){
ids += alpSymNum.split('')[randGen(alpSymNum.length,0)];
}
console.log(ids)
}
var paragraph = generateWord(1000);
//var paragraph = `Lorem ipsum dolor sit amet, consectetur adipiscing elit.Etiam et orci cursus, sodales enim eu, luctus diam.Donec tempus ante ac nulla ultricies, a aliquet enim dictum.In in ex in libero ultrices ornare.Nam ultricies orci et lorem aliquet ultrices ut sed arcu.Praesent id tellus vel dolor vestibulum dapibus.In eu nunc cursus, faucibus lacus vel, dapibus neque.Suspendisse tincidunt leo vitae libero eleifend hendrerit.Nulla at nulla ac risus tempus aliquam ac eu nisi.Vivamus nec erat vel felis pulvinar scelerisque quis sed dui.Praesent eu metus mattis, mattis nisl in, auctor turpis.Vivamus quis lacus quis arcu ornare iaculis vel et neque.Donec ac ex id massa rhoncus feugiat nec in orci.Sed nec justo consequat, posuere velit in, scelerisque ipsum.Integer id arcu non dolor sagittis congue et at dui.Aliquam vestibulum eros ut pharetra dapibus.Nunc tincidunt ipsum in aliquam feugiat.Maecenas eu massa vel odio aliquet euismod quis sit amet mauris.Mauris at felis faucibus, molestie quam vel, accumsan justo.Duis consectetur magna in ornare luctus.Suspendisse sit amet metus at ante sagittis feugiat nec et purus.Quisque iaculis neque sit amet sollicitudin facilisis.`;
function getName(params){
var paramsArr = params.split(',');
var name = '';
var firstNameRandIndex = Math.floor(Math.random() * nameSet.length);
var middleNameRandIndex = Math.floor(Math.random() * Math.random() * nameSet.length);
var lastNameRandIndex = Math.floor(Math.random() * (nameSet.length / firstNameRandIndex) + Math.random() * nameSet.length);
if((paramsArr[0] === 'true') && (paramsArr[1] === 'true')){
name = nameSet[firstNameRandIndex] + " " + nameSet[lastNameRandIndex]
}else{
name = nameSet[firstNameRandIndex];
}
return name;
}
var lists = paragraph.split('.').filter(function(n){ return n.trim(); });
var words = paragraph.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, ' ').split(' ').filter(function(n){ return n.length > 3; });
function generateRandomList(nosLines,callback){
var _nl = null;
var listArr = [];
(nosLines == null) ? _nl = 5 : _nl = nosLines;
for(var i = 0; i< _nl;i++){
var random1To10 = Math.floor(Math.random() * (10 - 1));
var randomIndex0 = Math.floor(Math.floor(Math.random() * lists.length) + (i/ random1To10));
(randomIndex0 == Infinity) ? false : listArr[i] = (lists[randomIndex0] !== undefined) ? lists[randomIndex0] : lists[random1To10];
}
callback(null,listArr);
}
function generateRandomWord(nosWord,callback){
var _nw = null;
var wordArr = [];
(nosWord !== null) ? _nw = nosWord : _nw = 50;
for(var i = 0; i< _nw;i++){
var random1To10 = Math.floor(Math.random() * (10 - 1));
var randomIndex0 = Math.floor(Math.floor(Math.random() * words.length) + (i/ random1To10));
(randomIndex0 == Infinity) ? false : wordArr[i] = (words[randomIndex0] !== undefined) ? words[randomIndex0] : words[random1To10];
}
callback(null,wordArr);
}
function generateRandomSetenceOrParagraph(nosSetence,range,callback){
var _ns = null;
var wordArr = [];
var senArr = [];
var ur = 0;
(range === null) ? ur = 20 : ur = parseInt(range);
(nosSetence !== null) ? _ns = nosSetence : _ns = 50;
for(var i = 0; i< _ns; i++){
for(var j = 0; j < ur; j++){
var randomLimit = Math.floor(Math.random() * ur);
var randomIndex0 = Math.floor(Math.floor(Math.random() * words.length) + (j / randomLimit));
(randomIndex0 == Infinity) ? false : wordArr[j] = (words[randomIndex0] !== undefined) ? words[randomIndex0] : words[randomLimit];
}
senArr[i] = wordArr.join(' ').concat('.');
}
return senArr;
}
function generateRandomSetence(nosSetence,range,callback){
const _data = generateRandomSetenceOrParagraph(nosSetence,range,callback);
callback(null,_data);
}
function generateRandomParagraph(nosSetence,range,callback){
const _data = generateRandomSetenceOrParagraph(nosSetence,range,callback);
callback(null,_data);
}
function generateArray(type,nosEle){
var _arr = [];
for(var i = 0; i < nosEle; i++){
_arr[i] = type || Math.floor(Math.random() * 10 + i);
}
return _arr;
}
function randomArrayGenerate(type,nosEle){
switch(type){
case 'boolean':
case 'Boolean':
case 'bool':
return generateArray(true,nosEle);
break;
case 'string':
case 'String':
case 'str':
return generateArray('Str',nosEle);
break;
case 'number':
case 'Number':
case 'num':
return generateArray(null,nosEle);
break;
}
}
/*
** Test
*/
generateRandomList(100,function(err,data){
console.log(data)
});
generateRandomSetence(10,'25',function(err,data){
console.log(data)
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment