列出 json 数组中的项,并在 if 语句后停止 for 循环

Listing items from a json array with a for loop stops after if statement

本文关键字:语句 循环 for if 并在 数组 json 列出      更新时间:2023-09-26

我正在尝试使用 for 循环列出 json 数组中的元素。我需要列出 3 个元素,但数组中的元素重复几次,我只希望每个元素列出一次,所以我有一个 if 语句,如果附加的最后一个元素已经存在,它将删除附加的最后一个元素。

for (var i=0, len=data.OCC_FiltersObj_Cust.length; i < len; i++) {
    $("#filters").append("<optgroup id="+data.OCC_FiltersObj_Cust[i].CustomerType+" label="+data.OCC_FiltersObj_Cust[i].CustomerType+">");
    if (data.OCC_FiltersObj_Cust[i].CustomerType===data.OCC_FiltersObj_Cust[i-1].CustomerType) {
        $("#filters:last").remove();
    }
}

我的问题是,当它执行时,循环在点击 if 语句时完全停止,并且只附加第一个元素。 任何解决此问题的帮助,或者如果您有更好的方法来执行此操作,我将很高兴听到它。

它停止是因为您处于索引 i=0 并且您引用的是 i-1(这将是 -1)。在以下情况下,请使用以下内容:

if (i > 0 && data.OCC_FiltersObj_Cust[i].CustomerType===data.OCC_FiltersObj_Cust[i-1].CustomerType) {