如何将TXT文件内容转指定HTML字符串?JS运行返回undefined如何解决?
问题原因
- 错误使用了
for...in遍历加对象解构的写法拆分单条数据:你用split('||')得到的是长度为3的数组,不是对象,不存在roomid、name、icon这几个属性,解构取值自然为undefined。 - 没有初始化
result变量,且每次循环都直接覆盖result的值,最终只能得到最后一次循环的结果,循环逻辑错误的情况下就会输出undefined。 - 原始字符串每行开头有多余空格,没有做trim处理,会导致提取的第一个值带多余空格。
- 没有给图片路径添加
.png后缀,不符合需求的输出格式。
修复后的可用代码
const openrooms = `1||fun||ball 2||job||hamm 3||run||feet`; // 初始化结果变量 let result = ''; const roomlist = openrooms.split('\n'); for (const roomLine of roomlist) { // 先去除前后多余空格再拆分 const room = roomLine.trim().split('||'); // 按索引取对应值,拼接后缀 result += `<dt>${room[0]}</dt><dd>${room[1]} <img src="${room[2]}.png"></dd>`; } document.getElementById("destination").innerHTML = result;
<div id="destination"></div>
内容的提问来源于stack exchange,提问作者Cain Nuke
相关产品推荐
相关产品推荐

