javascript - 在 JavaScript 中遍历非标准对象属性

标签 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。

感谢任何帮助。

最佳答案

您可以使用索引器来完成此操作。

test[i + '_email']

关于javascript - 在 JavaScript 中遍历非标准对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850544/

相关文章:

java - 获取 JSONObject 作为数组,以帮助将其转换为 CSV

javascript - 刷新后,我的 webview 没有设置正确的屏幕方向

javascript - 从 PHP 文件调用外部 do_shortcode

PHP - 通过 file_get_contents 发布 JSON

json - 如何从 Golang 中的 HTTP GET 请求发送 JSON 响应?

java - Jackson 反序列化自定义对象列表

javascript - 使用 AJAX 将 JSON 结果作为 JS 数组返回?

php - 根据尺寸更改价格并显示尺寸

Javascript - 表单上的原型(prototype) : Event. 观察不适用于 IE

javascript - 为什么 Array.prototype.some 不命名为 .any?