簡體   English   中英

為 2 個 arrays 獲得相同的隨機索引

[英]getting the same random index for 2 arrays

我正在構建一個抽認卡 web 應用程序,我試圖讓一個隨機的日文字符出現,但同時該字符也有一個英文值。

所以我有兩個 arrays (一個英語和一個日語),我有,在這里有人的幫助下,我設法讓隨機的日語字母顯示出來。

我的問題是如何在不破壞代碼的 rest 的情況下獲得英語數組的相同索引值來檢查答案?

 // kana indexes 
var kanaArray = ["あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ","た","ち","つ",
"て","と","な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ","ま","み","む","め","も","や","ゆ","よ","ら","り","る",
"れ","ろ","わ","を","ん"]

var kanaEng = ["a","i","u","e","o","ka","ki","ku","ke","ko","sa","shi","su","se","so","ta","chi","tsu",
"te","to","na","ni","nu","ne","no","ha","hi","fu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru",
"re","ro","wa","wo","n"]

let getRandomKana = () => kanaArray[Math.floor(Math.random()*kanaArray.length-1)];

let getAnswerVal = kanaEng[Math.floor(Math.random()*kanaEng.length-1)];

//logic

var started = false;
var level = 0;
let kanaPassed = [];

// start and switch buttons 
$(document).ready(function(){
    $(".startBtn").click(function(){
        started = true
        $('.startBtn').css("visibility", 'hidden');
        $('.switchBtn').css("visibility", 'visible');
        $('h3').text(getRandomKana());
        $('h3').css("visibility",'visible');
        console.log(started)
    })
});

$('.switchBtn').click(function(){
    $('h3').text(getRandomKana());
});

// check answer 
$('.submit').click(function(){
    console.log(getAnswerVal);
    if($('#answerBox').val()===getAnswerVal){
        $('card').css('background-color','red');
    }
});

您可以確保獲取第一個數組索引並在第二個數組上使用相同的索引,以便獲得相同的翻譯。 有些是這樣的:

const kanaArray = ["あ","い","う","え","お","か","き","く","け","こ","さ","し","す","せ","そ","た","ち","つ","て","と","な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ","ま","み","む","め","も","や","ゆ","よ","ら","り","る","れ","ろ","わ","を","ん"];

const kanaEng = ["a","i","u","e","o","ka","ki","ku","ke","ko","sa","shi","su","se","so","ta","chi","tsu","te","to","na","ni","nu","ne","no","ha","hi","fu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","wo","n"];

const randomIndex = Math.floor(Math.random()*kanaArray.length);
const randomKanaArray = kanaArray[randomIndex];
const randomKanaEng  = kanaEng[randomIndex];

如果您將其與 JSON obj 一起存儲,您也可以使其更容易:

const KANAS = [{jap: "あ", eng: "a"},...];
const RANDOM_KANAS= KANAS[Math.floor(Math.random()*KANAS.length)];
console.log(RANDOM_KANAS.jap, RANDOM_KANAS.eng);

讓我知道這是否有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM