繁体   English   中英

AJAX JSON响应返回正确的值,但两者之间是否还有未定义的值?

[英]AJAX JSON response is returning the correct values, but also undefined values in between?

我正在研究一些JavaScript代码,这些代码将在指定的数字范围内找到最小的未使用数字。 AJAX请求会收集指定范围内的所有已用数字,但是是否还会在正确值之间返回未定义的值? 我已经将JSON响应的返回值与SQL表中的当前值进行了比较,并且所有正确的值都在JSON响应和SQL表中,因此我不确定未定义的值来自何处。

https://imgur.com/a/rXLfEJk

JavaScript:

//Specified range of numbers to search.
var startRange = 40000;
var endRange = 49999;

//UPC's are padded with to 13 digits with 0's then sent as parameters.
var startUPC = '00000000' + startRange;
var endUPC = '00000000' + endRange;

// AJAX call to web API that gathers all UPC's within a range.
$.ajax({
    url: "api/GetNewPLU",
    type: "GET",
    dataType: "json",
    data: { 'startUPC': startUPC, 'endUPC': endUPC },
    success: function (data) {
        $.each(data.data, function (i, UPCs) {
            for (var i in UPCs) {
                console.log("UPC: " + UPCs[i].F01);
            }
        })
    },
    error: function (error) {
        console.log(`Error ${error}`)
    }
})

JSON响应:

{
    "draw": null,
    "data": [{
        "DT_RowId": "row_0000000040002",
        "OBJ_TAB": {
            "F01": "0000000040002"
        }
    }, {
        "DT_RowId": "row_0000000040008",
        "OBJ_TAB": {
            "F01": "0000000040008"
        }
    }, {
        "DT_RowId": "row_0000000040013",
        "OBJ_TAB": {
            "F01": "0000000040013"
        }
    }, {
        "DT_RowId": "row_0000000040017",
        "OBJ_TAB": {
            "F01": "0000000040017"
        }
    }
}

我计划遍历AJAX请求中使用的数字,并将它们与按顺序递增的生成数字进行比较,直到没有匹配为止,然后保存该未使用的数字。 我不确定是否值得弄清楚为什么我同时返回值和未定义值,或者是否应该找到一种方法来过滤未定义值。

lodash _.difference可以为您提供帮助。
创建两个数组。 一种用于生成的值,一种用于使用的值。 并找到它们之间的差异。

var created = ["0000000040000", "0000000040001", "0000000040002"];
var used = ["0000000040001", "0000000040002"];
var unused = _.difference(created, used);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM