如何在for循环中运行一次后清除变量

bmp9r5qi  于 2022-09-21  发布在  jQuery
关注(0)|答案(1)|浏览(467)

使用我的代码,我从服务器获取一个JSON,并在前端显示数据。这就是json https://pastebin.com/56YEnY4Z

该代码正在生成一个html列表。

for (var i = 0; i < data.array.length; i++) {
                if(data.array[i].orderStatus == 0)
                {
                    statusName = 'Neu erstellt';
                     statusColor = 'text-sky-500';
                } else if(data.array[i].orderStatus == 1) {
                    statusName = 'In bearbeitung';
                    statusColor = 'text-orange-500';
                }
                for(var k = 0; k < data.array[i].foodArray.length; k++) {
                    li += `<li class="flex items-center justify-between"><span>`+ data.array[i].foodArray[k].name +`</span><span>`+ data.array[i].foodArray[k].price +` EUR</span></li>`;
                }

                list = `<ul class="list-disc">`+ li +`</ul>`;

我得到的问题是,在旧数据进入第二个生成的列表之后,第一次运行是顺利的。有没有一个函数可以用来在循环运行一次之后清空var li?

我声明了变量,代码只是原始代码的一小段

brccelvz

brccelvz1#

如果k==0,则可以在第二个循环中清除li,这意味着每次完成外部循环时,都会重置li,因为在每次迭代外部循环后,k将等于0

for(var k = 0; k < data.array[i].foodArray.length; k++) {
   if(k == 0)
      li = '';

   li += `<li class="flex items-center justify-between"><span>`+ data.array[i].foodArray[k].name +`</span><span>`+ data.array[i].foodArray[k].price +` EUR</span></li>`;
}

或者简单地在外部循环的开始处添加

li = '';

相关问题