我有一个包含关联数组的对象
存储在数组中的值是Object
在每个函数中,我想访问值对象中的一个值(responseText
)
我的代码如下
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
返回undefined。我怎么想访问这个价值/财产?我尝试了value["responseText"]
,apiResults[key].responseText
但没有成功
答案 0 :(得分:1)
由于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
将返回对象中所有键的数组。