После того, как определенное слово вернется, выйдите из времени для вызова функции setInterval () - PullRequest
0 голосов
/ 06 марта 2020

У меня есть массив, массив содержит элементы. Я хочу, чтобы элементы, которые содержатся внутри массива, вызывались внутри функции setInterval, и когда это происходит, случайные элементы внутри массива начинают появляться на консоли в указанное время, если слова внутри самого массива сопоставляются вызовом функции ClearInterval.

function shuffle(array) {
      let currentIndex = array.length, temporaryValue, randomIndex;

          // While there remain elements to shuffle...
            while (0 !== currentIndex) {

        // Pick a remaining element...
              randomIndex = Math.floor(Math.random() * currentIndex);
               currentIndex -= 1;

                // And swap it with the current element.
                   temporaryValue = array[currentIndex];
                array[currentIndex] = array[randomIndex];
               array[randomIndex] = temporaryValue;
              }

                return array;
             }


                     let d = ["d","e","a","d"];


                          let c = setInterval(function(){


                 let r = shuffle(d).join("");

             if(r === "dead"){
                   clearInterval(d)
           }else{
               console.log(shuffle(d).join(""))
            }
           },1000)

1 Ответ

1 голос
/ 06 марта 2020

попробуйте это, изменив clearInterval(c)

function shuffle(array) {
    let currentIndex = array.length,
        temporaryValue, randomIndex;

    // While there remain elements to shuffle...
    while (0 !== currentIndex) {

        // Pick a remaining element...
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;

        // And swap it with the current element.
        temporaryValue = array[currentIndex];
        array[currentIndex] = array[randomIndex];
        array[randomIndex] = temporaryValue;
    }

    return array;
}


let d = ["d", "e", "a", "d"];
let c = setInterval(function() {
    let r = shuffle(d).join("");
    console.log(r)

    if (r === "dead") {
        clearInterval(c) // this should stop here
    } else {
        console.log(shuffle(d).join(""))
    }
}, 1000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...