为什么我的JavaScript数组显示两个元素的计数,而应该只有一个

Why is my JavaScript array showing a two element count when there is supposed to be only one?

本文关键字:有一个 元素 两个 数组 JavaScript 我的 显示 为什么      更新时间:2023-09-26

我有一个JS数组,它应该只显示一个元素。但是它的索引是1而不是0,计数是2。此外,数组没有显示0索引。

我的代码:

var _UnitOfMeasureRelatedUnitData = [];
var rows = $('#jqxUOMRelatedUnitsDropdownGrid').jqxGrid('getrows');
var RecordCount = 0;
if (rows.length !== 1 && rows[0]["UOMRelatedUnit_Name"] !== ""){
    for(var i = 0; i < rows.length; i++){
        var row = rows[i];
        var _row = {};
        if(row.UOMRelatedUnit_AddItem !== F) {
            RecordCount += 1;
            _row["Name"] = $("#txtUnitOfMeasureSetName").val();
            _row["Active"] = T;
            _row["UnitOfMeasureTypeID"] = $("input[type='radio'][id='rblUnitOfMeasureType']:checked").val();
            _row["BaseUnitID"] = $("input[type='radio'][id='rblUnitOfMeasureBaseUnit']:checked").val();
            _row["RelatedUnitDisplayOrder"] = RecordCount;
            _row["RelatedUnitName"] = row.UOMRelatedUnit_Name;
            _row["RelatedUnitAbbreviation"] = row.UOMRelatedUnit_Abbreviation;
            _row["RelatedUnitConversionRatio"] = row.UOMRelatedUnit_ConversionOfBaseUnits;
            _row["UnitOfMeasureSetID"] = UnitOfMeasureSetID;
            _UnitOfMeasureRelatedUnitData[i] = _row;
        }
    }
....
}

在我的JQx网格中,我至少有四个选择。对于这个问题,我只选择了网格中的2个选项,它的AddItem值为True,其他都为False。

我现在看不到我的逻辑,我需要改变什么?

编辑1

我忽略了RecordCount += 1;的位置,我会试着把它移到作业的末尾,看看会发生什么。

编辑2

这个位置没有什么不同。

维护另一个变量来索引您的数据,如

var index=0; // place this outside of for loop
_UnitOfMeasureRelatedUnitData[index++] = _row;

您不需要RecordCount += 1;

您可以使用_UnitOfMeasureRelatedUnitData.length 来获取rowscount

相关文章: