使用数组的随机子集生成表

时间:2012-07-13 10:24:04

标签: javascript jquery

目前,此脚本从列表中获取单词并生成网格,每次都会给出单词随机位置。当生成这些单词时,我希望它们被分成单独的字符,分成彼此相邻的单元格 - 我该怎么做?

  var listOfWords = ["mat", "cat", "dog", "pit", "pot", "fog", "log", "pan", "can",  "man", ];
  var shuffledWords = listOfWords.slice(0, 12);
  shuffledWords.sort(function() {
  return 0.5 - Math.random();
});

 var table = $('<table class="tablestyle">');
 var rows = 6;
 var cols = 2;
 var tr;
 var index;

for (var row = 0; row < rows; row++) {
tr = $('<tr>');
for (var col = 0; col < cols; col++) {
    index = (row * cols) + col;
    $('<td>').text(shuffledWords[index]).appendTo(tr);
}
tr.appendTo(table);
}

 table.appendTo('body');

 $('<table>' + innerTable + '</table>').appendTo('body');

2 个答案:

答案 0 :(得分:1)

在切片之前尝试对列表进行随机排序。喜欢这个

listOfWords.sort(function() {
  return 0.5 - Math.random();
});
var shuffledWords = listOfWords.slice(0, 12);

答案 1 :(得分:0)

<script type="text/javascript">
var html = "<table border='0' width='100%'>";
html += "<tr> <td> Search ID </td> <td> Name </td> <td>Location</> <td> Reason </td></tr>"
html += "<tr> <td> 1 </td> <td> Bob </td> <td>Glasgow</> <td> Hello </td></tr>"
html+="</table>";

$('#outputID').append(html);
</script>

它说的地方

<td> Bob </td> 

替换为

"<td>" + varibleName + "</td>"

可变名称可能是每个角色?把它放在一个适合的循环中?

希望这有帮助