2016-07-11 4 views
1

У меня есть код, который мне нужен, чтобы выбрать случайную строку из массива, но он продолжает возвращать одну букву или номер. Как это можно зафиксировать?javascript случайное число из массива возвращает одну букву/символ

<html> 
 
    <script> 
 
     var name = ["Yayek", "Vozarut", "Gezex", "Jujax", "Luvac", "Merea", "Qokac", "Doeimit", "Qeneh", "Pezog", "Iakej", "Zihec", "Auziyeb", "Aehug", "Buyob", "Jojuxuk", "Dopix", "Yenacah", "Rigun", "Bihey", "Goziiig", "Oiqik", "Vubarel", "Lokiuul", "Gizah", "Susofic", "Navulaj", "Qioaoeo", "Aeyom", "Aibul", "Oekojem", "Aeauvuu", "Goeuyoa", "Pihoa", "Noyikaw", "Soaeuip", "Diyufak", "Fewuy", "Uaqid", "Aisizeo", "Mewupen", "Rinel", "Cavawax", "Aepon", "Wutoq", "Ousoyan", "Jaban", "Pizoq", "Eeyawok", "Uuaub", "Lalajac", "Gaeaj", "Lieau", "Ouzuous", "Pevux", "Powig", "Pever", "Woqekie", "Sobukoe", "Vomab", "Eirinek", "Eumeb", "Raficiw", "Dezuw", "Niqeoin", "Yamet", "Ouaie", "Ouguk", "Galut", "Oaouu", "Jaaoron", "Nioekuu", "Fevuv", "Yofit", "Caaeyox", "Hapis", "Winiial", "Miyie", "Pigev", "Yujioei", "Vuxon", "Eirioul", "Lukadux", "Kadec", "Qocewec", "Kitobot", "Yedel", "Vobojox", "Vovop", "Cimicak", "Ruoenur", "Liyos", "Einiben", "Pawosoj", "Limai", "Dotuiaa", "Zuwogin", "Zaxiv", "Aojuo", "Puuutoe", "Xusaqae", "Raxiy", "Ouxab", "Zalud", "Dowutoh", "Aitoiai", "Leloban", "Jiiow", "Sewek", "Dokeqox", "Lapuree", "Maded", "Wowuk", "Zouov", "Wonaeox", "Kodineo", "Gowes", "Neziy"]; 
 
     var cards = [{ 
 
      key: 'name', 
 
      data: name 
 
     }]; 
 
     var c1 = Math.floor(Math.random() * cards.length); 
 
     alert(cards[c1].data); 
 
    </script> 
 
</html>

+1

Удалить 'rc1'. Вы индексируете в 'data', который является строкой. Просто сделайте 'cards [c1] .data' –

+0

Да, это не мешает ему оповестить одну букву. Но теперь он предупреждает весь массив. –

+1

Похоже, что это должны быть 'cards [0] .data [c1]'? Но на самом деле, что вы пытаетесь сделать? – PHPglue

ответ

0

Try Ниже Он отлично работает:

HTML код:

<input type="submit" id="byBtn" value="Click It" onclick="randomfunction()"/> 

Javascript Код:

function randomfunction(){ 
var name = ["Yayek", "Vozarut", "Gezex", "Jujax", "Luvac", "Merea", "Qokac", "Doeimit", "Qeneh", "Pezog", "Iakej", "Zihec", "Auziyeb", "Aehug", "Buyob", "Jojuxuk", "Dopix", "Yenacah", "Rigun", "Bihey", "Goziiig", "Oiqik", "Vubarel", "Lokiuul", "Gizah", "Susofic", "Navulaj", "Qioaoeo", "Aeyom", "Aibul", "Oekojem", "Aeauvuu", "Goeuyoa", "Pihoa", "Noyikaw", "Soaeuip", "Diyufak", "Fewuy", "Uaqid", "Aisizeo", "Mewupen", "Rinel", "Cavawax", "Aepon", "Wutoq", "Ousoyan", "Jaban", "Pizoq", "Eeyawok", "Uuaub", "Lalajac", "Gaeaj", "Lieau", "Ouzuous", "Pevux", "Powig", "Pever", "Woqekie", "Sobukoe", "Vomab", "Eirinek", "Eumeb", "Raficiw", "Dezuw", "Niqeoin", "Yamet", "Ouaie", "Ouguk", "Galut", "Oaouu", "Jaaoron", "Nioekuu", "Fevuv", "Yofit", "Caaeyox", "Hapis", "Winiial", "Miyie", "Pigev", "Yujioei", "Vuxon", "Eirioul", "Lukadux", "Kadec", "Qocewec", "Kitobot", "Yedel", "Vobojox", "Vovop", "Cimicak", "Ruoenur", "Liyos", "Einiben", "Pawosoj", "Limai", "Dotuiaa", "Zuwogin", "Zaxiv", "Aojuo", "Puuutoe", "Xusaqae", "Raxiy", "Ouxab", "Zalud", "Dowutoh", "Aitoiai", "Leloban", "Jiiow", "Sewek", "Dokeqox", "Lapuree", "Maded", "Wowuk", "Zouov", "Wonaeox", "Kodineo", "Gowes", "Neziy"] 
var cards = [{ 
    key: 'name', 
    data: name 
}]; 
var c1 = Math.floor(Math.random() * cards.length); 
var rc1 = Math.floor(Math.random() * cards[c1].data.length); 
alert(cards[c1].data[rc1]); 
} 
+0

это все еще предупреждает только одну букву –

+0

@werematrix Нет этого кода. –

+0

Оцените это хорошо: https://jsfiddle.net/sachinke/ag7zduws/3/ –

0

Вы в конечном итоге с этой структурой cards:

var cards = [ 
      |  { 
      |   key: 'name', 
      |  data: [ 
      |   0 : Yayek, 
      |   1 : Vozarut, 
      |   etc... 
      |  ? 
      |  | 
    cards [c1].data 

Обратите внимание, как ваш массив data ориентирами в ничто. У вас нет массива массивов, у вас есть массив, содержащий объект, который содержит вспомогательный массив, а суб-массив THAT содержит ваши данные имени.

Вы должны

cards[0].data[1] -> Vazarut 
+0

затем предупреждает «A» –

+0

, затем выполните «console.log (cards)» и следуйте за кроликом в отверстие. –

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