Javascript 如何停止innerHtml在表中反复重复自身?

Javascript 如何停止innerHtml在表中反复重复自身?,javascript,html,arrays,innerhtml,for-in-loop,Javascript,Html,Arrays,Innerhtml,For In Loop,我制作了一个数组,其中包含从三个不同的用户变量获取信息的对象,然而,在其中一个变量上有许多子变量,我不希望每次用户按下select按钮时它都会重复,而select按钮会更新表格,我希望它只是添加或删除表格中已有的部分。谢谢如果你需要变量代码,让我知道我已经尝试解决这个问题一段时间了!请帮忙 //creating array var gProducts = new Array(); var gTotalCost = 0; // Adding Products to array gProduc

我制作了一个数组,其中包含从三个不同的用户变量获取信息的对象,然而,在其中一个变量上有许多子变量,我不希望每次用户按下select按钮时它都会重复,而select按钮会更新表格,我希望它只是添加或删除表格中已有的部分。谢谢如果你需要变量代码,让我知道我已经尝试解决这个问题一段时间了!请帮忙

//creating array
var gProducts = new Array();
var gTotalCost = 0;



// Adding Products to array gProducts
    function addProduct
{
var product = new Object();
product.name = name;
product.cost = cost;
gProducts.push(product);
gTotalCost += parseInt(cost)
}


 //Getting products from array, use of for in loop setting new table rows in blank var for each array item
function renderProducts()
{
var HTMLadd = ""

for (var i in gProducts)
{
if( gProducts[i].cost > 0){
    HTMLadd = HTMLadd + 
    "<tr>"+ 
    "<td class='tableSettings00' id=tableRow2 >" + gProducts[i].name +
    "</td>"+
    "<td class='tableSettings'>€<span id=tableRow2part2>" + gProducts[i].cost +
    "</span></td>"+ 
    "</tr>";
    }
    else 
    {
    }
}
document.getElementById('tableRow').innerHTML = HTMLadd;

}

您正在使用for-in循环,而您可能只需要一个for循环

把这行改成

for (var i in gProducts)


对于for/in循环,变量i将是一个对象,而不是一个整数。

谢谢,但我得到了相同的结果?一切仍在重复!你是说每次运行rederProducts时,表只是一次又一次地添加数组,还是说数组有重复?它一次又一次地添加数组!这是第一个数组,当它被更新后,有第一个数组,也有新的数组。这很奇怪,这个方法替换了innerHTML,当你更新数组时,你是否检查了重复的数组?很奇怪,很不幸,我帮不了你,因为你发布的代码应该在替换innerHTML时起作用。
for (var i = 0; i < gProducts.length; i++)