【问题标题】:Access array in array in javascript在javascript中访问数组中的数组
【发布时间】:2012-09-02 02:06:53
【问题描述】:

我收到了 JSON 回复,如下所示:

[{
  "order_id": "12",
  "customer": "user user",
  "status": "Pending",
  "date_added": "02\/09\/2012",
  "total": "$500.00",
  "action": [{
    "text": "View",
    "href": "http:\/\/localhost\/oc\/admin\/index.php?route=sale\/order\/info&token=92a80574e5fcbf3e2d021404cfaae1a4&order_id=12"
  }]
}]

看看action key,它的值又是一个数组。我正在尝试通过以下代码获取操作键值,但它对我显示未定义

function (data) {
  if (data) {
    for (var i = 0; i < data.length; i++) {
      $('div.dashboard-content table.list tbody tr:first').before(
        '<tr id="' + 
        data[i]['order_id'] + 
        '"><td class="right">' + 
        data[i]['order_id'] + 
        '</td><td class="left">' + 
        data[i]['customer'] + 
        '</td><td class="left">' + 
        data[i]['status'] + 
        '</td><td class="left">' + 
        data[i]['date_added'] + 
        '</td><td class="right">' + 
        data[i]['total'] + 
        '</td><td class="right"> [<a href="' + 
        data[i]['action']['href'] + '">' + 
        data[i]['action']['text'] + 
        '</a>]</td></tr>'
      );
    }
  }
}

有人可以帮助我吗? 提前致谢。

【问题讨论】:

  • 你的问题非常不清楚。
  • gawd 之母,这些字符串几乎是我在代码中使用的字符串的 1/10。我明白为什么有些人会使我的代码变暗“不可审查”。附带说明一下,您可以在 JS 中的字符串中进行换行,在行尾使用 \ 转义它们,或者只是在不影响输出的 + 符号处换行。

标签: javascript jquery


【解决方案1】:

就像你说的,action 是一个数组。因此,您无法使用data[i]['action']['href'] 访问它。您必须使用下标来指示您想要的数组的位置。例如,要访问第一个位置,您可以使用:

var href = data[i].action[0].href;
var text = data[i].action[0].text;

【讨论】:

    【解决方案2】:

    action 是一个数组,其中包含一个具有名为 text 的属性的对象。变化:

    data[i]['action']['text']
    

    到:

    data[i]['action'][0]['text']
    

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 2014-12-14
      • 2023-03-08
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多