Javascript-如何混合6个字母长的单词中的字母,并将每个字母放到特定的按钮

时间:2013-11-30 19:03:18

标签: javascript jquery

我是Javascript / Jquery的初学者,我的任务是制作一个“猜单词游戏”

我不知道如何在一个单词中混合字母,然后如何在每个按钮上放一个单词。

我有一个长度为6个字母的单词数组。当用户点击“开始”按钮时,正在采用整个阵列的随机字。这是它的代码:

var words = ["abacus", ".....", "zygote"]
$( "#start" ).on('click', function() {
var rand = Math.floor( Math.random() * words.length );
alert(words[rand]);
});

这是我到目前为止所得到的。警报只是检查代码是否正确。 所以我的实际任务是在我所拥有的单词中混合字符,然后将其分散为6个按钮。

我不是要求代码,只是为了可能的解决方案,但任何事情都会受到赞赏 提前谢谢,

2 个答案:

答案 0 :(得分:0)

在这篇文章中描述了随机播放的字母:How do I shuffle the characters in a string in JavaScript?

然后用for循环遍历所有洗牌的字母,并为每个字母创建一个按钮。

我已在http://jsfiddle.net/Mz39e/

为您创建了一个示例
var word = "myword";
var shuffledWord = word.shuffle();

for (var i = 0; i < shuffledWord.length; i++ ) {

  createButton(shuffledWord[i]);

}


function createButton(letter) {

    $("body").append($("<button/>").html(letter).on("click", function() {

         // Here your button handling code
         alert($(this).html());

    }))    

}

答案 1 :(得分:0)

您可以查看String.prototype.split()函数,您可以使用该函数将该单词分解为6个字母的数组,然后您可以查看Array.prototype.sort()函数,您可以使用它可以使用随机操作来随机化这些字母,然后你可以迭代随机字母数组,将每个字母分配给不同的按钮。像这样:

var scrambledWord = words[rand].split('').sort(function () {
    var random = Math.random() * 2;
    if (random < 1) {
        return 1;
    } else if (random > 1) {
        return -1;
    } else {
        return 0;
    }
});

要将每个字母分配给不同的按钮,您可以使用像jQuery这样的库来循环数组项时创建一个新按钮,并将它们注入容器中。