我正在使用一个 API 通过 AJAX 返回响应,它在 responseJSON
中返回响应所以我用点表示法访问我需要的对象部分,就像任何其他 AJAX 调用一样
var test = jqxhr.responseJSON.test;
对象的字面表示是:
test = {1_status: "invalid", 4_type: "domain.com", 1_type: "alpha.domain.com", 4_email: "admin@domain.com", 3_email: "admin@charlie.domain.com"…}
在控制台中显示 console.log(test)
之后
1_email: "admin@alpha.domain.com"
1_status: "invalid"
1_type: "alpha.domain.com"
2_email: "admin@bravo.domain.com"
2_status: "invalid"
2_type: "bravo.domain.com"
3_email: "admin@charlie.domain.com"
3_status: "invalid"
3_type: "charlie.domain.com"
4_email: "admin@domain.com"
4_status: "invalid"
4_type: "domain.com"
errorCode: "0"
我如何通过像 1_email
这样的键访问值在 for
循环交互如下。
for (var i = 1; i <= 4; i++){
// access key values here like so:
//console.log(test.i_email);
// where the console should return admin@alpha.domain.com on the first interation
}
如果我只是在循环之外执行类似下面的操作,手动调用某个键:
console.log(test.1_email);
我得到以下信息:
Uncaught SyntaxError: Unexpected token ILLEGAL
我需要使用 [i]_status 访问每个部分,因为我不知道确切的返回值和顺序更改,不幸的是我无法直接访问 API。
感谢任何帮助。
最佳答案
您可以使用索引器来完成此操作。
test[i + '_email']
关于javascript - 在 JavaScript 中遍历非标准对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850544/