【发布时间】:2021-11-12 22:24:54
【问题描述】:
我有一个如下所示的 txt 文件:
1||fun||ball
2||job||hammer
3||run||feet
我想将其加载到我的代码中并将其转换为:
<dt>1</dt><dd>fun <img src="ball.png"></dd>
<dt>2</dt><dd>job <img src="hamm.png"></dd>
<dt>3</dt><dd>run <img src="feet.png"></dd>
我试过这样:
const openrooms = `1||fun||ball
2||job||hamm
3||run||feet`;
const roomlist = openrooms.split('\n');
for (var rooms in roomlist) {
room = roomlist[rooms].split('||');
for (var {roomid, name, icon} in room) {
result = `<dt>${room[roomid]}</dt><dd>${room[name]} <img src="${room[icon]}"></dd>`;
}
}
document.getElementById("destination").innerHTML = result;
<div id="destination"></div>
我得到的都是未定义的。这是为什么?请尝试以下小提琴:
【问题讨论】:
-
您应该使用
for..of循环而不是for..in与数组。 -
将
{roomid, name, icon}更改为[roomid, name, icon] -
也尝试了
of,但结果相同。 -
@CainNuke 你的循环很好。问题在于解构。
-
每次都覆盖
result。
标签: javascript for-loop