2015-07-31 1 views
1

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

К сожалению, я изо всех сил пытаюсь найти способ вставить местоимение пола, основанное на полу случайного имени, выбранного из строки. Есть ли способ сделать это, используя выдержки из приведенных ниже сценариев (или я пропускаю что-то невероятно очевидное)?

HTML

<p id="lineTwo">firstName told genderPronounOne friends...</p> 

JavaScript

//Random Name 
var maleNames = ['Tom', 'Tony']; 
var femaleNames = ['Tina', 'Tracy']; 
var maleRandom = maleNames[Math.round(Math.random()*(maleNames.length-1))]+'\n'; 
var femaleRandom = femaleNames[Math.round(Math.random()*(femaleNames.length-1))]+'\n'; 
var nameGender = [maleRandom, femaleRandom 
var name = nameGender[Math.round(Math.random()*(nameGender.length-1))]+'\n'; 

//Determine Gender 
var pronounOne; 

if(/* this is where I'm struggling */){ 
pronounOne = 'his'; 
} else { 
pronounOne = 'her'; 
} 

//Replace HTML 
var replaceHTML = document.getElementById("lineTwo").innerHTML; 
var replaceName = replaceHTML.replace("firstName", name); 
var replacePronoun = replaceHTML.replace("genderPronounOne", pronounOne); 

document.getElementById("lineTwo").innerHTML = replaceName; 
document.getElementById("lineTwo").innerHTML = recplacePronoun; 

Может кто-нибудь помочь? Спасибо.

+1

У вас есть опечатка здесь 'var nameGender = [maleRandom, femaleRandom' – DontVoteMeDown

ответ

2

Хранить 0 или 1 в переменной и использовать его

var mf = Math.round(Math.random()*(nameGender.length-1)) 
var name = nameGender[mf]+'\n'; 

//Determine Gender 
var pronounOne = mf ? "her" :'his'; 
0

Как насчет проверить, если имя, которое вы выбрали в массиве мужских имен?

if (maleNames.indexOf(name) > -1) { 
    pronounOne = 'his'; 
} else { 
    pronounOne = 'her'; 
} 
Смежные вопросы