gpt4 book ai didi

javascript - Javascript 中的变量 "Variables"- 未定义

转载 作者:行者123 更新时间:2023-11-30 12:16:22 25 4
gpt4 key购买 nike

JSON:

var promiseObj = {
"physical": [],
"virtual": []
}
var config = {
"Environments": [
"LH5",
"LH8",
"AMS"
],
"Clusters": {
"LH5": 4,
"LH8": 4,
"AMS": 4
}
};

因此,我尝试根据上面给定 JSON 对象中的环境和集群设置不同的 promise 对象。

for (var i = 0; i < config.Environments.length; i++) { 
promiseObj.physical[config.Environments[i]][config.Clusters[config.Environments[i]]] = $http.get('URL').success(function(data) {
//Successful stuff here
});

}

然而,当执行这个 for 循环时,我得到以下错误:

promiseObj.physical[config.Environments[i]] is undefined

当对象在文档开头明确定义时,有人可以阐明为什么返回未定义吗?

最佳答案

由于 physical 是一个空数组,因此其中的所有键都是 undefined。您需要在第一次使用时对它们进行灌注:

if (typeof promiseObj.physical[config.Environments[i]] == 'undefined') {
promiseObj.physical[config.Environments[i]] = {}; // or [], whichever you want
}
promiseObj.physical[config.Environments[i]][config.Clusters[config.Environments[i]]] = ...

关于javascript - Javascript 中的变量 "Variables"- 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32334788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com