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

Traversing a non-standard object property in JavaScript

本文关键字:标准对象 属性 JavaScript 遍历      更新时间:2023-09-26

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

如何在for循环中通过键(如1_email)访问值,如下所示。

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']