【发布时间】:2026-01-06 03:05:02
【问题描述】:
我正在尝试创建一个在每个框中包含一个字母的网格(如 Word Find 拼图)。
我已经成功创建了一个网格,显示了确定的列数/行数,但是当我尝试在每个框中放置一个字母时,我在每个框中得到以下十次而不是单个字母:
[object
Object]
这里是 JavaScript:
$(function() {
var letters = [
'rzeabppssgcddrvddydtjrkei', // 1
'cezcqubhniittonieqerbiuvm', // 2
'jqcjnasionsncvbsrwtabddsu', // 3
'olselesitneagittrjanreinv', // 4
'nqnaisdenmeibvurellsnrioc', // 5
'ydnlevrnyeaidrwifkufmsuis', // 6
'dcccjeeaogsemudbeemefaptn', // 7
'evonsqpdepislsnudnurwjbpo', // 8
'grytiunnafsexattmtclaimoi', // 9
'pnqrhocbiieeinoitacilppat', // 10
];
var letter = [];
function splitRows(arr, arr2) {
for (let i=0; i < arr.length; i++) {
arr[i].split();
for (let j=0; j < arr.length; j++) {
arr2[j] = arr[i][j];
}
}
}
splitRows(letters, letter);
function* gen(arr) {
for(i=0; i < arr.length; i++) {
yield arr[i];
}
}
function generateGrid(rows, cols, arr) {
var grid = "<table>";
for(row = 1; row <= rows; row++) {
grid += "<tr>";
for(col = 1; col <= cols; col++) {
grid += "<td>";
for(let i=0; i < arr.length; i++) {
grid += gen(arr).next(); // not sure if the .next() generator works yet
}
grid += "</td>"; // 'letters' needs to input the next letter in letters each time it is called
}
grid += "</tr>";
}
return grid;
}
$("#tableContainer").append(generateGrid(26, 22, letter));
});
第一个函数旨在获取行并将它们拆分为单个字母(最终将行作为输入,但出于测试目的,我将它们放在一个数组中)
第二个函数是插入到 generateGrid() 函数中的生成器,用于在每次创建框时生成序列中的下一个字母。
【问题讨论】:
-
为清楚起见:HTML 确实包含 id
标签: javascript html grid generator