首页 > 解决方案 > Javascript循环遍历对象

问题描述

我有一个通过我的 REST API 返回的对象,我需要遍历它以同步数据库。因此该对象包含另一个称为表的对象。表对象具有不同的数组,其中包含表名及其键值对。无论我做什么,我都无法在大约两天内循环遍历表对象,而且返回 null 或 undefined 值真的很烦人。

例如,我尝试使用 JavaScript 函数 object.forEach((article)=>console.log(article.id,article.name)) 遍历表数组;

const obj = response.content.tables.article;

function findArticles(obj) {
    obj.forEach((article)=>console.log(article.id,article.name));

}

我无法收回任何价值。当我尝试 console.log(response.content); 它向我展示了一切。一旦我尝试输出 response.content.tables 它就说未定义。

这是对象response.content 的结构:

{
    "status": "1",
    "message": "sync out request successfull",
    "tables": {
        "article": [
          {
          "id": 1,
          "name": "baseball"
          },
          {
          "id": 2,
          "name": "truck"
          },
        ],
        "food": [],
        "animals: []
    }
}

标签: arraysloopsobject

解决方案


在尝试获取属性之前,尝试使用 JSON.parse(xyz) 将响应转换为对象。

var xyz = '{    "status": "1",  "message": "sync out request successfull",  "tables": {     "article": [{"id": 1,"name": "baseball"},{"id": 2,"name": "truck"}],"food": [],"animals": []}}'

var obj = JSON.parse(xyz);
$(obj.tables).each(function (ix, el) {
    console.log(el)
});

推荐阅读