遍历JavaScript中的非标准对象属性

时间:2014-05-24 23:14:25

标签: javascript json

我正在使用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。

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用索引器执行此操作。

test[i + '_email']