我有一个包含关联数组的对象

javascript - 从JQuery中的每个函数中的对象获取值-LMLPHP

存储在数组中的值是一个对象

在每个函数中,我要访问值对象(responseText)中的一个值

javascript - 从JQuery中的每个函数中的对象获取值-LMLPHP

我的代码如下

 var apiNameArray = getDataSourceApiNames();
        var apiResults = {};
        var deferred;

        for (let i = 0; i < apiNameArray.length; i++) {
            var apiName = apiNameArray[i];
            console.log("apiName = " + apiName);
            deferred = $.ajax({
                    type: "GET",
                    url: api_URL + "memberdetails/" + memberNumber,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json"
                }
            );
            apiResults[apiName] = deferred;
        }

        $.when.apply($, apiResults).then(function () {
            console.log(apiResults);
            $.each(apiResults, function (key, value) {
                console.log(key);
                console.log(value);
                console.log(value.responseText);
           });
        });


由于某些原因,value.responseText返回未定义。我应该如何访问此值/属性?我尝试value["responseText"]apiResults[key].responseText都没有成功

最佳答案

由于apiResults是对象,因此您可以循环浏览键并使用apiResults[key].responseText访问该值。
$.when.apply($, apiResults).then(function () { $.each(apiResults, function (key, value) { console.log(apiResults[key].responseText); }); });
要么
$.when.apply($, apiResults).then(function () { Object.keys('apiResults').forEach(function(item, index){ console.log(apiResults[item].responseText) })});
在这里,Object.keys将返回对象中所有键的数组。

08-28 12:28