gpt4 book ai didi

javascript - 设置嵌套循环值返回错误 "e.replace is not a function"

转载 作者:行者123 更新时间:2023-11-27 23:36:57 25 4
gpt4 key购买 nike

我正在尝试解析诗歌,以便每一行都是tileset数组中的一个项目,每个单词都是该数组中的一个项目(2级)。我希望每个单词都在一个范围内,并且(稍后)每个新行之间都有一个休息点。

当我循环更改要包含在跨度中的单个单词 (tileset[a][b]) 的值时,我遇到了问题。

这是代码:

function tilify (){
var tiletext = $(".tile-set").html().trim().replace("<br>"," ").replace(/ +(?= )/g," "); // trimming whitespace and regulating newline format to a double-space
tileset = tiletext.split(" "); // creating an array of lines
for (a in tileset) {
tileset[a] = tileset[a].split(" "); // creating a nested array of words
for (b in tileset[a]) {
tileset[a][b] = "<span class='tile'>" + tileset[a][b] + "</span>"; // returns error
};
};
$(".tile-set").html(tileset);
}

tilify();

返回的错误是Uncaught TypeError: e.replace is not a function

我尝试了几种循环语法。我还尝试摆脱以防万一使用的 .replace 方法。如果我将第一个数组的元素包装在 span 标记中,而不是第二个数组的元素,它会起作用。

我正在运行 jquery 和 jqueryUI。

这又是我遇到问题的 block :

for (b in tileset[a]) {
tileset[a][b] = "<span class='tile'>" + tileset[a][b] + "</span>"; // returns error
};

这是 HTML 的正文

<div class='container'>
<p class='tile-set'>
The boot is famous to the earth,
more famous than the dress shoe,
which is famous only to floors.
</p>
</div>

最佳答案

您的代码在 $(".tile-set").html(tileset); 行上中断,因为 $.html() 无法处理嵌套数组。它正在寻找字符串数组。如果您想将所有内容包含在一个元素中,则需要另一个 for 循环,然后像这样连接整个内容:
for(tileset 中的 a) {
$(".tile-set").html($(".tile-set").html()+tileset[a]);
}

关于javascript - 设置嵌套循环值返回错误 "e.replace is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com