2016-08-16 2 views
-1

Я работаю над небольшим проектом, где я хотел бы генерировать случайную переменную, основанную на нескольких строках, а затем далее выбирать другую строку на основе случайного var для более раннего.Генерировать случайный var, а затем обнаруживать его с помощью JavaScript

Я не 100%, если я объяснил это отлично, но я создал образец кода ниже. Я должен сказать, что в самом коде, есть около 50 записей, а не 3.

var fruits=['Apples','Bannanas','Pears'] 

var veg=['Potatoes','Carrots','Peas'] 

var fruitInfo=['This is an Apple','This is a Bannana','This is a pear'] 

fruit.innerHTML+=fruits[Math.round(Math.random()*(fruits.length-1))]+'\n'; 

veg.innerHTML+=veg[Math.round(Math.random()*(veg.length-1))]+'\n'; 

Итак, если это unlear, я хочу, чтобы обнаружить, если Apple, был выбран, а затем состояние «Это яблоко »и т. д. Я также добавил в veg, так как будут другие случайные факторы, однако их не нужно будет обнаруживать.

Любая помощь была бы принята с благодарностью!

+0

Ваш случайный выбор неправильный. Используйте 'Math.floor (Math.random() * fruits.length)' для равномерного распределения. –

+0

Непонятно, что вы хотите сделать? depluralize слово? добавить фиксированную строку к случайному значению? - В чем проблема с текущим кодом? –

+0

Я действительно не вижу смысла иметь 2 массива. –

ответ

0

Похоже, вам нужно создать случайное значение и сохранить его в переменной, чтобы использовать ее повторно. И создайте еще один для овощей (как я полагаю, для этого вам нужны разные случайные).

var fruits=['Apples','Bannanas','Pears'] 
    var veg=['Potatoes','Carrots','Peas'] 
    var fruitInfo=['This is an Apple','This is a Bannana','This is a pear'] 
    var random_num = Math.floor(Math.ran‌​dom()*fruits.length) 
    fruit.innerHTML+=fruits[random_num]+'\n'; 
    fruitInfo.innerHTML+=fruitInfo[random_num]+'\n'; 
    var random_num2 = Math.floor(Math.ran‌​dom()*veg.length) 
    veg.innerHTML+=veg[random_num2]+'\n'; 
+0

К сожалению, я был играя с этим примером, который вы мне дали, и я не могу заставить его работать; он никогда не отображает ничего на веб-странице. Я уверен, что это только потому, что я новичок в этом, но не могли бы вы показать мне, где я ошибаюсь? Редактировать: нажал ввод, прежде чем я добавил код. Я просто добавлю ссылку на него сейчас. Пример кода можно найти здесь: http://codepaste.net/a2itm1 – joshcawthorne

+0

просто пойдите шаг за шагом. распечатайте «random_num» в консоли. Если все в порядке, распечатайте 'fruits [random_num]'. Если это тоже хорошо (что вы ожидали), то вы, вероятно, не объявили объект 'fruitInfo'. 'var fruitInfo = document.getElementById (" fruitInfo ")' должен делать трюк. –

+0

Я пробовал это, и он все еще не работает. Я добавил предупреждение в свою функцию, чтобы знать, когда он работает, и единственный раз, когда запускается функция, - это когда все: 'var random_num2 = Math.floor (Math.ran dom() * veg.length) var fruitInfo = document.getElementB yId ("fruitInfo") var random_num = Math.floor (Math.ran dom() * fruits.length) ' не указаны в коде. Если они есть, консоль chrome dev говорит, что вы ошибаетесь, говоря о неотображении. – joshcawthorne

Смежные вопросы