Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在动态网格中放置随机空间_Javascript_Jquery - Fatal编程技术网

Javascript 在动态网格中放置随机空间

Javascript 在动态网格中放置随机空间,javascript,jquery,Javascript,Jquery,我有一个动态生成网格的单词列表 问题是我需要一个6x6网格,如果列表中没有足够的单词来支持6x6(12个单词),那么它就不会 我如何使它始终生成6x6网格,随机生成单词位置,并用空单元格填充空白 var listOfWords = ["mat", "cat", "dog", "pit", "pot", "fog"]; var shuffledWords = listOfWords.slice(0).sort(function() { return 0.5 - Math.random();

我有一个动态生成网格的单词列表

问题是我需要一个6x6网格,如果列表中没有足够的单词来支持6x6(12个单词),那么它就不会

我如何使它始终生成6x6网格,随机生成单词位置,并用空单元格填充空白

var listOfWords = ["mat", "cat", "dog", "pit", "pot", "fog"];
var shuffledWords = listOfWords.slice(0).sort(function() {
    return 0.5 - Math.random();
}).slice(0, 6);
var tbl = document.createElement('table');
tbl.className = 'tablestyle';
var wordsPerRow = 2;
for (var i = 0; i < shuffledWords.length; i += wordsPerRow) {
    var row = document.createElement('tr');
    for (var j = i; j < i + wordsPerRow; ++j) {
        var word = shuffledWords[j];
        for (var k = 0; k < word.length; k++) {
            var cell = document.createElement('td');
            cell.textContent = word[k];
            row.appendChild(cell);
        }
    }
    tbl.appendChild(row);
}
document.body.appendChild(tbl);
var listOfWords=[“mat”、“cat”、“dog”、“pit”、“pot”、“fog”];
var shuffledWords=listOfWords.slice(0).sort(函数(){
返回0.5-Math.random();
}).切片(0,6);
var tbl=document.createElement('table');
tbl.className='tablestyle';
var wordsPerRow=2;
for(变量i=0;i

我补充说:

while(listOfWords.length < 6)
    listOfWords.push("   ");
while(listOfWords.length<6)
listOfWords.push(“”);
因此,如果没有足够的单词,它会在数组中附加空的“单词”(3个空格),并将其洗牌,从而产生随机的空格


编辑

EDIT2

我想这就是你想要的:

我补充说:

while(listOfWords.length < 6)
    listOfWords.push("   ");
while(listOfWords.length<6)
listOfWords.push(“”);
因此,如果没有足够的单词,它会在数组中附加空的“单词”(3个空格),并将其洗牌,从而产生随机的空格


编辑

EDIT2

我想这就是你想要的:

对不起,你忘了把它们拿出来@joeshmo@joeshmo是的,但它也需要易于调整。用
填充数组,使其达到所需的最大单元格数。您的意思是什么@单词总是3个字母长吗?你总是想要每行两个字吗?很抱歉,你忘了把它们拿出来@joeshmo@joeshmo是的,但它也需要易于调整。用
填充数组,使其达到所需的最大单元格数。您的意思是什么@单词总是3个字母长吗?您总是希望每行有两个单词吗?但如何指定要从列表中提取的单词数@TomI做了编辑;现在我定义了12个单词,还有一个文本框;你可以把一个数字从0到12;这就是将要使用的单词数。谢谢,这正是我需要的,但我无法将其应用到我的代码中。你能帮我吗@汤姆:也许……如果你尽力向我解释它到底要做什么,我会给你写一个函数;您可以首先为该函数提供一个有意义的全名和参数。表中每个单词的var rndspace生成3个空单元格,因此有6个、3个字母单词和18个空单元格@tom但如何指定要从列表中提取多少@TomI做了编辑;现在我定义了12个单词,还有一个文本框;你可以把一个数字从0到12;这就是将要使用的单词数。谢谢,这正是我需要的,但我无法将其应用到我的代码中。你能帮我吗@汤姆:也许……如果你尽力向我解释它到底要做什么,我会给你写一个函数;您可以首先为该函数提供一个有意义的全名和参数。表中每个单词的var rndspace生成3个空单元格,因此@Tom有6个、3个字母单词和18个空单元格
rndSpaces(["pim", "pam", "pet", "rol", "fik", "fak", "ral"]);​